關(guān)閉窗口的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種關(guān)閉窗口的方法及裝置,屬于瀏覽器【技術(shù)領(lǐng)域】。所述方法包括:當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄所述拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo);當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口;其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。所述裝置包括:記錄模塊和關(guān)閉模塊。本發(fā)明實現(xiàn)了根據(jù)拖拽操作觸發(fā)窗口的關(guān)閉,操作簡單,極大地方便了用戶使用。
【專利說明】關(guān)閉窗口的方法及裝置【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及瀏覽器【技術(shù)領(lǐng)域】,特別涉及一種關(guān)閉窗口的方法及裝置。
【背景技術(shù)】
[0002]在現(xiàn)有的觸屏式移動終端中,當(dāng)瀏覽器打開多個窗口時,會進(jìn)入多窗口管理界面,在該界面上通過平鋪或者全窗口層疊的形式展示已經(jīng)打開的多個窗口。當(dāng)用戶關(guān)閉其中的某個窗口時,需要點(diǎn)擊該窗口上固定位置處的按鈕以執(zhí)行關(guān)閉該窗口的操作。該按鈕可以為圖標(biāo)按鈕或者文字按鈕。例如,在每個窗口的右上角都有一個圖標(biāo)按鈕,通常為圓形且上面顯示有X形的符號,當(dāng)用戶點(diǎn)擊該圖標(biāo)按鈕時,瀏覽器會關(guān)閉該窗口。
[0003]但是,上述現(xiàn)有技術(shù)中,需要用戶移動手指到固定區(qū)域才能關(guān)閉窗口,如果是頁面兩端的窗口則操作起來不是特別方便。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種關(guān)閉窗口的方法及裝置。所述技術(shù)方案如下:
[0005]—方面,一種關(guān)閉窗口的方法,所述方法包括:
[0006]當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄所述拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo);
[0007]當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口 ;
[0008]其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
[0009]其中,所述第一位置點(diǎn)為所述拖拽的起點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn);
[0010]當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口,包括:
[0011]根據(jù)所述起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在所述指定方向上的第一滑動距離;
[0012]當(dāng)所述第一滑動距離超過預(yù)設(shè)的第一閾值時,關(guān)閉所述被拖拽的窗口。
[0013]其中,根據(jù)所述起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在所述指定方向上的第一滑動距離,包括:
[0014]當(dāng)所述指定方向為橫向時,所述拖拽的橫向第一滑動距離=Xn — XO ;
[0015]當(dāng)所述指定方向為縱向時,所述拖拽的縱向第一滑動距離=Yn — YO ;
[0016]其中,X0,YO為所述起點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xn, Yn為所述終點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。 [0017]其中,所述第一位置點(diǎn)為記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn),且所述第一位置點(diǎn)的記錄時間與所述終點(diǎn)的記錄時間間隔為預(yù)設(shè)的周期;
[0018]當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口,包括:
[0019]根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度;
[0020]當(dāng)所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗口。
[0021]其中,所述方法還包括:
[0022]當(dāng)所述第一滑動距離小于等于預(yù)設(shè)的第一閾值時,根據(jù)所述拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在與所述指定方向垂直的方向上的第二滑動距離,并根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度;
[0023]當(dāng)所述第一滑動距離超過所述第二滑動距離且所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗口 ;
[0024]其中,所述記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)與所述終點(diǎn)之間的時間間隔為所述預(yù)設(shè)的周期。
[0025]其中,根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度,包括:
[0026]當(dāng)所述指定方向為橫向時,所述拖拽橫向的滑動速度=(Xn-Xm)/T ;
[0027]當(dāng)所述指定方向為縱向時,所述拖拽縱向的滑動速度=(Yn—Ym)/T ;
[0028]其中,Χη、Υη分別為所述拖拽終點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xm,Ym分別為所述記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的橫坐標(biāo)和縱坐標(biāo),T為所述預(yù)設(shè)的周期。
[0029]另一方面,一種關(guān)閉窗口的裝置,所述裝置包括:
[0030]記錄模塊,用于當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄所述拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo);
[0031]關(guān)閉模塊,用于當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口 ;
[0032]其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
[0033]其中,所述第一位置點(diǎn)為所述拖拽的起點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn);
[0034]所述關(guān)閉模塊包括:
[0035]第一計算單元,用于根據(jù)所述起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在所述指定方向上的第一滑動距離;
[0036]第一關(guān)閉單元,用于當(dāng)所述第一滑動距離超過預(yù)設(shè)的第一閾值時,關(guān)閉所述被拖拽的窗口。
[0037]其中,所述第一計算單元用于進(jìn)行如下計算:
[0038]當(dāng)所述指定方向為橫向時,所述拖拽的橫向第一滑動距離=Xn — XO ;
[0039]當(dāng)所述指定方向為縱向時,所述拖拽的縱向第一滑動距離=Yn — YO ;
[0040]其中,Χ0, YO為所述起點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xn, Yn為所述終點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。[0041]其中,所述第一位置點(diǎn)為記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn),且所述第一位置點(diǎn)的記錄時間與所述終點(diǎn)的記錄時間間隔為預(yù)設(shè)的周期;
[0042]所述關(guān)閉模塊包括:
[0043]第二計算單元,用于根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度;
[0044]第二關(guān)閉單元,用于當(dāng)所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗P。
[0045]其中,所述關(guān)閉模塊還用于:
[0046]當(dāng)所述第一滑動距離小于等于預(yù)設(shè)的第一閾值時,根據(jù)所述拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在與所述指定方向垂直的方向上的第二滑動距離,并根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度;
[0047]當(dāng)所述第一滑動距離超過所述第二滑動距離且所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗口;
[0048]其中,所述記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)與所述終點(diǎn)之間的時間間隔為所述預(yù)設(shè)的周期。
[0049]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:通過記錄窗口拖拽過程中第一位置點(diǎn)和第二位置點(diǎn)的坐標(biāo),并在根據(jù)第一位置點(diǎn)和第二位置點(diǎn)坐標(biāo)確定拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口,實現(xiàn)了根據(jù)拖拽操作觸發(fā)窗口的關(guān)閉,無需用戶移動手指到固定區(qū)域即可觸發(fā)關(guān)閉窗口,而且用戶可以在該窗口的任意位置處進(jìn)行拖拽來觸發(fā)關(guān)閉窗口,操作簡單,極大地方便了用戶使用。
【專利附圖】
【附圖說明】
[0050]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0051]圖1是本發(fā)明一實施例提供的一種關(guān)閉窗口的方法流程圖;
[0052]圖2是本發(fā)明另一實施例提供的一種關(guān)閉窗口的方法流程圖;
[0053]圖3是本發(fā)明實施例提供的拖拽操作觸發(fā)關(guān)閉窗口的示意圖;
[0054]圖4是本發(fā)明又一實施例提供的一種關(guān)閉窗口的方法流程圖;
[0055]圖5是本發(fā)明再一實施例提供的一種關(guān)閉窗口的方法流程圖;
[0056]圖6是本發(fā)明實施例提供的一種關(guān)閉窗口的裝置結(jié)構(gòu)圖;
[0057]圖7是本發(fā)明實施例提供的另一種關(guān)閉窗口的裝置結(jié)構(gòu)圖。
【具體實施方式】
[0058]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。[0059]參見圖1,本發(fā)明一實施例提供了一種關(guān)閉窗口的方法,包括:
[0060]101:當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo)。
[0061]102:當(dāng)根據(jù)第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口。
[0062]其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
[0063]本實施例提供的上述方法,具體可以由瀏覽器執(zhí)行,該瀏覽器位于移動終端內(nèi)。該瀏覽器可以是任何一種瀏覽器,本發(fā)明對此不做具體限定。所述移動終端包括但不限于:手機(jī)、平板電腦等等,優(yōu)選地,為觸屏式移動終端。
[0064]所述窗口顯示在瀏覽器打開的頁面上,該頁面上同時打開的窗口可以為多個,具體個數(shù)不限定。所述頁面上窗口的排列方向包括:上下排列或左右排列。當(dāng)頁面上的窗口上下排列時,用戶通過手指上下滑動或拖拽可以預(yù)覽打開的各個窗口,當(dāng)頁面上的窗口左右排列時,用戶通過手指左右滑動或拖拽可以預(yù)覽打開的各個窗口。
[0065]所述拖拽可以由用戶用手指觸摸移動終端的屏幕進(jìn)行,拖拽過程中用戶手指觸摸的位置可以用屏幕上像素的坐標(biāo)來表示,包括橫坐標(biāo)和縱坐標(biāo)。拖拽的起點(diǎn)是指用戶手指在屏幕上按下的位置,拖拽的終點(diǎn)是指用戶手指在拖拽結(jié)束時從屏幕上抬起的位置。
[0066]本實施例提供的上述方法,通過記錄窗口拖拽過程中第一位置點(diǎn)和第二位置點(diǎn)的坐標(biāo),并在根據(jù)第一位置點(diǎn)和第二位置點(diǎn)坐標(biāo)確定拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口,實現(xiàn)了根據(jù)拖拽操作觸發(fā)窗口的關(guān)閉,無需用戶移動手指到固定區(qū)域即可觸發(fā)關(guān)閉窗口,而且用戶可以在該窗口的任意位置處進(jìn)行拖拽來觸發(fā)關(guān)閉窗口,操作簡單,極大地方便了用戶使用。
[0067]參見圖2,本發(fā)明另一實施例提供了一種關(guān)閉窗口的方法,包括:
[0068]201:當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo)。
[0069]本實施例中,拖拽操作的方向包括但不限于:向上、向下、向左、向右、向斜上方、向斜下方等等。其中,不同的拖拽方向會對應(yīng)有不同的橫向滑動距離和縱向滑動距離。例如,當(dāng)向上或向下拖拽時,只有縱向滑動距離;當(dāng)向頁面左上角方向拖拽時,既有橫向滑動距離又有縱向滑動距離;當(dāng)然,還有其它很多種情況,在此不一一舉例。
[0070]202:根據(jù)起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算拖拽在指定方向上的第一滑動距離。
[0071]其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
[0072]本步驟可以具體包括:
[0073]當(dāng)該指定方向為橫向時,拖拽的橫向第一滑動距離=Xn — XO ;
[0074]當(dāng)該指定方向為縱向時,拖拽的縱向第一滑動距離=Yn — YO ;
[0075]其中,X0, YO為拖拽起點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xn, Yn為拖拽終點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。
[0076]本實施例中,當(dāng)窗口被拖拽時,窗口的位置也會發(fā)生變化,相應(yīng)地,頁面上會顯示窗口滑動的效果。例如,上下排列的多個窗口中,其中某個窗口 i的左上角的坐標(biāo)為(WXO,WYO),當(dāng)窗口 i被向左上角拖拽后,則窗口 i的左上角的坐標(biāo)變化為(WX0+Xn-X0,WY0+Yn-Y0)。其中,窗口滑動可以采用動畫效果進(jìn)行展示,本發(fā)明不做過多說明。
[0077]203:當(dāng)拖拽在指定方向上的第一滑動距離超過預(yù)設(shè)的第一閾值時,關(guān)閉被拖拽的窗P。
[0078]其中,所述第一閾值為預(yù)先設(shè)置的經(jīng)驗值,可以根據(jù)需要進(jìn)行修改,本發(fā)明對此不做具體限定。當(dāng)?shù)谝换瑒泳嚯x超過預(yù)設(shè)的第一閾值時,認(rèn)為該窗口進(jìn)入臨界區(qū),該拖拽為關(guān)閉該窗口的觸發(fā)操作,而不是其它操作。
[0079]參見圖3,為本實施例提供的拖拽操作觸發(fā)關(guān)閉窗口的示意圖。其中,移動終端的瀏覽器打開了 4個窗口,分別是:手機(jī)新浪網(wǎng)、手機(jī)騰訊網(wǎng)、騰訊微博和手機(jī)搜狐網(wǎng),且將這4個窗口按照打開的順序從上至下顯示,當(dāng)用戶點(diǎn)擊并拖拽第2個窗口后,根據(jù)拖拽產(chǎn)生的橫向滑動距離與預(yù)設(shè)的閾值確定是否關(guān)閉該窗口,如果確定關(guān)閉該窗口,則執(zhí)行關(guān)閉第2個窗口的操作。
[0080]本實施例提供的上述方法,通過記錄窗口拖拽過程中起點(diǎn)和終點(diǎn)的坐標(biāo),并在根據(jù)起點(diǎn)和終點(diǎn)坐標(biāo)確定拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口,實現(xiàn)了根據(jù)拖拽操作觸發(fā)窗口的關(guān)閉,無需用戶移動手指到固定區(qū)域即可觸發(fā)關(guān)閉窗口,而且用戶可以在該窗口的任意位置處進(jìn)行拖拽來觸發(fā)關(guān)閉窗口,操作簡單,極大地方便了用戶使用。
[0081]參見圖4,本發(fā)明又一實施例提供了一種關(guān)閉窗口的方法,包括:
[0082]401:當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo)。
[0083]其中,第一位置點(diǎn)為記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn),第二位置點(diǎn)為拖拽的終點(diǎn),且第一位置點(diǎn)的記錄時間與終點(diǎn)的記錄時間間隔為預(yù)設(shè)的周期。
[0084]所述預(yù)設(shè)的周期可以根據(jù)需要設(shè)置,具體數(shù)值不限,如3ms、5ms等等。所述記錄時間是指在窗口被拖拽的過程中對拖拽的位置進(jìn)行記錄的時間,由于拖拽是個連續(xù)的動作,會在屏幕上產(chǎn)生一條軌跡,軌跡上的每一個點(diǎn)都有一個坐標(biāo)。為了提高效率和節(jié)省時間,可以選取其中的部分點(diǎn)來記錄坐標(biāo),并根據(jù)記錄的坐標(biāo)進(jìn)行相應(yīng)的計算。所述相鄰是指記錄時間相鄰。
[0085]優(yōu)選地,可以按照預(yù)設(shè)的周期從拖拽的起點(diǎn)開始,每隔該周期記錄一次拖拽當(dāng)前位置點(diǎn)的坐標(biāo),直到拖拽終點(diǎn)的坐標(biāo)記錄完成。例如,預(yù)設(shè)的周期為2ms,拖拽過程持續(xù)了IOms,則從拖拽的起點(diǎn)至終點(diǎn)共記錄了 6次,首次記錄的是拖拽起點(diǎn)的坐標(biāo),最后一次記錄的是拖拽終點(diǎn)的坐標(biāo),倒數(shù)第2次記錄的坐標(biāo)就是記錄時間與終點(diǎn)記錄時間相鄰的位置點(diǎn)的坐標(biāo)。
[0086]402:根據(jù)記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算拖拽在指定方向上的滑動速度。
[0087]其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
[0088]具體地,本步驟可以包括:
[0089]當(dāng)該指定方向為橫向時,拖拽橫向的滑動速度=(Xn — Xm)/T ;
[0090]當(dāng)該指定方向為縱向時,拖拽縱向的滑動速度=(Yn — Ym)/T ;[0091]其中,Xn、Yn分別為拖拽終點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xm,Ym分別為記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的橫坐標(biāo)和縱坐標(biāo),T為預(yù)設(shè)的周期。
[0092]403:當(dāng)拖拽在指定方向上的滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉被拖拽的窗□。
[0093]具體地,本步驟可以包括:
[0094]當(dāng)該指定方向為橫向時,如果(Xn — Xm)/T > V,則關(guān)閉被拖拽的窗口 ;
[0095]當(dāng)該指定方向為縱向時,如果(Yn — Ym)/T > V,則關(guān)閉被拖拽的窗口 ;
[0096]其中,V為預(yù)設(shè)的第二閾值,可以根據(jù)需要設(shè)置,具體數(shù)值本發(fā)明不限定。
[0097]本實施例中,為了計算簡便,進(jìn)一步地,還可以根據(jù)預(yù)設(shè)的周期T設(shè)置第二閾值,如將TXV設(shè)置為第二閾值,則并將(Xn — Xm)或(Yn — Ym)視為滑動速度,則比較時可以直接將(Xn — Xm)或(Yn — Ym)與第二閾值進(jìn)行比較,從而簡化了計算過程,計算更簡便,提高了計算效率。
[0098]本實施例提供的上述方法,通過記錄窗口拖拽過程中記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)坐標(biāo),以及拖拽終點(diǎn)的坐標(biāo),并在根據(jù)記錄的坐標(biāo)確定拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口,實現(xiàn)了根據(jù)拖拽操作觸發(fā)窗口的關(guān)閉,無需用戶移動手指到固定區(qū)域即可觸發(fā)關(guān)閉窗口,而且用戶可以在該窗口的任意位置處進(jìn)行拖拽來觸發(fā)關(guān)閉窗口,操作簡單,極大地方便了用戶使用。
[0099]參見圖5,本發(fā)明再一實施例提供了一種關(guān)閉窗口的方法,包括:
[0100]501:當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo)。
[0101]502:根據(jù)起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算拖拽在指定方向上的第一滑動距離。
[0102]其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
[0103]本步驟的具體計算過程與上述步驟202中的描述相同,此處不贅述。
[0104]503:判斷拖拽在指定方向上的第一滑動距離是否超過預(yù)設(shè)的第一閾值,如果是,則執(zhí)行504;否則,執(zhí)行505。
[0105]其中,所述第一閾值為預(yù)先設(shè)置的經(jīng)驗值,可以根據(jù)需要進(jìn)行修改,本發(fā)明對此不做具體限定。當(dāng)?shù)谝换瑒泳嚯x超過預(yù)設(shè)的第一閾值時,認(rèn)為該窗口進(jìn)入臨界區(qū),該拖拽為關(guān)閉該窗口的觸發(fā)操作,而不是其它操作。
[0106]504:關(guān)閉被拖拽的窗口,流程結(jié)束。
[0107]505:此時,第一滑動距離小于等于預(yù)設(shè)的第一閾值,根據(jù)拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算拖拽在與指定方向垂直的方向上的第二滑動距離,并根據(jù)記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算拖拽在指定方向上的滑動速度。
[0108]具體地,當(dāng)該指定方向為橫向時,所述垂直的方向為縱向,當(dāng)該指定方向為縱向時,所述垂直的方向為橫向。所述記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)與終點(diǎn)之間的時間間隔為預(yù)設(shè)的周期。
[0109]其中,根據(jù)記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算拖拽在指定方向上的滑動速度可以具體包括:
[0110]當(dāng)該指定方向為橫向時,拖拽橫向的滑動速度=(Χη — Xm)/T ;[0111]當(dāng)該指定方向為縱向時,拖拽縱向的滑動速度=(Yn — Ym)/T ;
[0112]其中,Xn、Yn分別為拖拽終點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xm,Ym分別為記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的橫坐標(biāo)和縱坐標(biāo),T為預(yù)設(shè)的周期。
[0113]506:當(dāng)?shù)谝换瑒泳嚯x超過第二滑動距離且滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉被拖拽的窗口,流程結(jié)束。
[0114]其中,進(jìn)行比較時,是以第一滑動距離和第二滑動距離的絕對值進(jìn)行比較的。例如,以指定方向為橫向為例,判斷是否I Xn—XO I > I Yn-YO I,其中,Χ0,YO為拖拽起點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xn,Yn為拖拽終點(diǎn)的橫坐標(biāo)和縱坐標(biāo),I Xn — XO I為橫向滑動距離的絕對值,I Yn — YO I為縱向滑動距離的絕對值。
[0115]如果第一滑動距離超過第二滑動距離且滑動速度超過第二閾值,則認(rèn)為該拖拽是關(guān)閉窗口的操作,從而執(zhí)行關(guān)閉窗口的操作;否則,在窗口位置移動后執(zhí)行還原窗口的操作,仍將該窗口顯示在拖拽之前的位置上,具體過程可以采用動畫的效果進(jìn)行展示,本發(fā)明對此不做具體限定。
[0116]本實施例提供的上述方法,通過計算第一滑動距離、第二滑動距離以及滑動速度,并根據(jù)計算結(jié)果確定出拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口,實現(xiàn)了根據(jù)拖拽操作觸發(fā)窗口的關(guān)閉,無需用戶移動手指到固定區(qū)域即可觸發(fā)關(guān)閉窗口,而且用戶可以在該窗口的任意位置處進(jìn)行拖拽來觸發(fā)關(guān)閉窗口,操作簡單,極大地方便了用戶使用。
[0117]參見圖6,本發(fā)明另一實施例還提供了一種關(guān)閉窗口的裝置,包括:
[0118]記錄模塊601,用于當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo);
[0119]關(guān)閉模塊602,用于當(dāng)根據(jù)第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口 ;
[0120]其中,當(dāng)頁面上的窗口為上下排列時,指定方向為橫向,當(dāng)頁面上的窗口為左右排列時,指定方向為縱向。
[0121]參見圖7,一種實施方式下,第一位置點(diǎn)為拖拽的起點(diǎn),第二位置點(diǎn)為拖拽的終點(diǎn);關(guān)閉1旲塊602包括:
[0122]第一計算單元602a,用于根據(jù)起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算拖拽在指定方向上的第一滑動距離;
[0123]第一關(guān)閉單元602b,用于當(dāng)?shù)谝换瑒泳嚯x超過預(yù)設(shè)的第一閾值時,關(guān)閉被拖拽的窗P。
[0124]其中,第一計算單元可以具體用于進(jìn)行如下計算:
[0125]當(dāng)指定方向為橫向時,拖拽的橫向第一滑動距離=Xn — XO ;
[0126]當(dāng)指定方向為縱向時,拖拽的縱向第一滑動距離=Yn — YO ;
[0127]其中,X0,YO為起點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xn, Yn為終點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。
[0128]另一種實施方式下,第一位置點(diǎn)為記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn),第二位置點(diǎn)為拖拽的終點(diǎn),且第一位置點(diǎn)的記錄時間與終點(diǎn)的記錄時間間隔為預(yù)設(shè)的周期;關(guān)閉模塊602包括:
[0129]第二計算單元602c,用于根據(jù)記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算拖拽在指定方向上的滑動速度;
[0130]第二關(guān)閉單元602d,用于當(dāng)滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉被拖拽的窗口。
[0131]再一種實施方式下,關(guān)閉模塊602還用于:
[0132]當(dāng)?shù)谝换瑒泳嚯x小于等于預(yù)設(shè)的第一閾值時,根據(jù)拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算拖拽在與指定方向垂直的方向上的第二滑動距離,并根據(jù)記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算拖拽在指定方向上的滑動速度;
[0133]當(dāng)?shù)谝换瑒泳嚯x超過第二滑動距離且滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉被拖拽的窗口 ;
[0134]其中,記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)與終點(diǎn)之間的時間間隔為預(yù)設(shè)的周期。
[0135]本實施例中,根據(jù)記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算拖拽在指定方向上的滑動速度可以具體包括:
[0136]當(dāng)該指定方向為橫向時,拖拽橫向的滑動速度=(Xn — Xm)/T ;
[0137]當(dāng)該指定方向為縱向時,拖拽縱向的滑動速度=(Yn — Ym)/T ;
[0138]其中,Χη、Υη分別為拖拽終點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xm> Ym分別為記錄時間與拖拽終點(diǎn)相鄰的位置點(diǎn)的橫坐標(biāo)和縱坐標(biāo),T為預(yù)設(shè)的周期。
[0139]本實施例提供的所述裝置可以位于瀏覽器中,該瀏覽器安裝于移動終端中。
[0140]本實施例提供的上述裝置,通過記錄窗口拖拽過程中第一位置點(diǎn)和第二位置點(diǎn)的坐標(biāo),并在根據(jù)第一位置點(diǎn)和第二位置點(diǎn)坐標(biāo)確定拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉被拖拽的窗口,實現(xiàn)了根據(jù)拖拽操作觸發(fā)窗口的關(guān)閉,無需用戶移動手指到固定區(qū)域即可觸發(fā)關(guān)閉窗口,而且用戶可以在該窗口的任意位置處進(jìn)行拖拽來觸發(fā)關(guān)閉窗口,操作簡單,極大地方便了用戶使用。
[0141]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0142]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種關(guān)閉窗口的方法,其特征在于,所述方法包括: 當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄所述拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo); 當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口 ; 其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一位置點(diǎn)為所述拖拽的起點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn); 當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口,包括: 根據(jù)所述起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在所述指定方向上的第一滑動距離; 當(dāng)所述第一滑動距離超過預(yù)設(shè)的第一閾值時,關(guān)閉所述被拖拽的窗口。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在所述指定方向上的第一滑動距離,包括: 當(dāng)所述指定方向為橫向時,所述拖拽的橫向第一滑動距離=Xn—XO ; 當(dāng)所述指定方向為縱向時,所述拖拽的縱向第一滑動距離=Yn — YO ; 其中,X0,YO為所述起點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xn, Yn為所述終點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一位置點(diǎn)為記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn),且所述第一位置點(diǎn)的記錄時間與所述終點(diǎn)的記錄時間間隔為預(yù)設(shè)的周期; 當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口,包括: 根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度; 當(dāng)所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗口。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 當(dāng)所述第一滑動距離小于等于預(yù)設(shè)的第一閾值時,根據(jù)所述拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在與所述指定方向垂直的方向上的第二滑動距離,并根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度; 當(dāng)所述第一滑動距離超過所述第二滑動距離且所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗口; 其中,所述記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)與所述終點(diǎn)之間的時間間隔為所述預(yù)設(shè)的周期。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度,包括:當(dāng)所述指定方向為橫向時,所述拖拽橫向的滑動速度=(Xn一Xm)/T ; 當(dāng)所述指定方向為縱向時,所述拖拽縱向的滑動速度=(Yn—Ym) /T ; 其中,Χη、Υη分別為所述拖拽終點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xm,Ym分別為所述記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的橫坐標(biāo)和縱坐標(biāo),T為所述預(yù)設(shè)的周期。
7.一種關(guān)閉窗口的裝置,其特征在于,所述裝置包括: 記錄模塊,用于當(dāng)檢測到頁面上打開的一個窗口被拖拽時,記錄所述拖拽過程中第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo); 關(guān)閉模塊,用于當(dāng)根據(jù)所述第一位置點(diǎn)的坐標(biāo)和第二位置點(diǎn)的坐標(biāo),確定所述拖拽在指定方向上的偏移程度達(dá)到預(yù)設(shè)的條件時,關(guān)閉所述被拖拽的窗口 ; 其中,當(dāng)所述頁面上的窗口為上下排列時,所述指定方向為橫向,當(dāng)所述頁面上的窗口為左右排列時,所述指定方向為縱向。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一位置點(diǎn)為所述拖拽的起點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn); 所述關(guān)閉模塊包括: 第一計算單元,用于根據(jù)所述起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在所述指定方向上的第一滑動距離; 第一關(guān)閉單元,用于當(dāng)所述第一滑動距離超過預(yù)設(shè)的第一閾值時,關(guān)閉所述被拖拽的窗P。
9.根據(jù)權(quán)利要求8所述的裝置,`其特征在于,所述第一計算單元用于進(jìn)行如下計算: 當(dāng)所述指定方向為橫向時,所述拖拽的橫向第一滑動距離=Xn—XO ; 當(dāng)所述指定方向為縱向時,所述拖拽的縱向第一滑動距離=Yn — YO ; 其中,Χ0,YO為所述起點(diǎn)的橫坐標(biāo)和縱坐標(biāo),Xn, Yn為所述終點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一位置點(diǎn)為記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn),所述第二位置點(diǎn)為所述拖拽的終點(diǎn),且所述第一位置點(diǎn)的記錄時間與所述終點(diǎn)的記錄時間間隔為預(yù)設(shè)的周期; 所述關(guān)閉模塊包括: 第二計算單元,用于根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度; 第二關(guān)閉單元,用于當(dāng)所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗口。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述關(guān)閉模塊還用于: 當(dāng)所述第一滑動距離小于等于預(yù)設(shè)的第一閾值時,根據(jù)所述拖拽起點(diǎn)的坐標(biāo)和終點(diǎn)的坐標(biāo),計算所述拖拽在與所述指定方向垂直的方向上的第二滑動距離,并根據(jù)記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)的坐標(biāo)、所述終點(diǎn)的坐標(biāo)和預(yù)設(shè)的周期,計算所述拖拽在所述指定方向上的滑動速度; 當(dāng)所述第一滑動距離超過所述第二滑動距離且所述滑動速度超過預(yù)設(shè)的第二閾值時,關(guān)閉所述被拖拽的窗口; 其中,所述記錄時間與所述拖拽終點(diǎn)相鄰的位置點(diǎn)與所述終點(diǎn)之間的時間間隔為所述預(yù)設(shè)的周期。
【文檔編號】G06F3/0486GK103677576SQ201210341685
【公開日】2014年3月26日 申請日期:2012年9月14日 優(yōu)先權(quán)日:2012年9月14日
【發(fā)明者】蔡熒園 申請人:騰訊科技(深圳)有限公司