使能性能級(jí)聯(lián)操作的制作方法
【專利摘要】各種實(shí)施例使得性能級(jí)聯(lián)操作能夠通過(guò)響應(yīng)于接收到與層次樹中的指定元素中的一個(gè)相關(guān)聯(lián)的輸入來(lái)選擇性地對(duì)所述元素應(yīng)用級(jí)聯(lián)操作的子集而被執(zhí)行。一整套級(jí)聯(lián)操作能夠依照各種參數(shù)在執(zhí)行級(jí)聯(lián)操作的子集之后被執(zhí)行。這樣的參數(shù)能夠通過(guò)例子而非限制的方式包括用戶交互定時(shí)、針對(duì)給定元素的級(jí)聯(lián)操作的復(fù)雜性、和/或級(jí)聯(lián)操作能夠被應(yīng)用于的元素的數(shù)目等等。
【專利說(shuō)明】使能性能級(jí)聯(lián)操作
【背景技術(shù)】
[0001]設(shè)計(jì)能夠通過(guò)web被消費(fèi)的內(nèi)容的那些人面臨的一個(gè)挑戰(zhàn)是使得這樣的內(nèi)容能夠在各種類型的設(shè)備上以知覺上快速的方式運(yùn)行,所述設(shè)備包括可能未必被設(shè)計(jì)成以相應(yīng)地快速的方式運(yùn)行的那些類型的設(shè)備。例如,web內(nèi)容典型地用包括元素的層次文檔對(duì)象模型(DOM)樹加以表示,所述元素具有子孫元素和祖先元素。
[0002]通常當(dāng)輸入相對(duì)于特定元素被接收到時(shí),該輸入能夠被用作將關(guān)聯(lián)行為或觸發(fā)事件沿著層次樹向上“隧穿(tunnel)”或者級(jí)聯(lián)到其它祖先元素的基礎(chǔ)。對(duì)于大的樹,確定要對(duì)其應(yīng)用特定行為的那些元素可能是昂貴的操作。因此,確保用戶的體驗(yàn)是高效的且感知良好的挑戰(zhàn)繼續(xù)存在。
【發(fā)明內(nèi)容】
[0003]本
【發(fā)明內(nèi)容】
被提供來(lái)以簡(jiǎn)化的形式介紹構(gòu)思的選擇,所述構(gòu)思在下面在【具體實(shí)施方式】中被進(jìn)一步描述。本
【發(fā)明內(nèi)容】
不旨在識(shí)別所要求保護(hù)的主題的關(guān)鍵特征或必要特征。
[0004]各種實(shí)施例使得性能級(jí)聯(lián)操作能夠通過(guò)響應(yīng)于接收到與層次樹中的指定元素中的一個(gè)相關(guān)聯(lián)的輸入來(lái)選擇性地對(duì)所元素應(yīng)用級(jí)聯(lián)操作的子集而被執(zhí)行。一整套級(jí)聯(lián)操作能夠依照各種參數(shù)在執(zhí)行級(jí)聯(lián)操作的子集之后被執(zhí)行。
[0005]在一個(gè)或多個(gè)實(shí)施例中,級(jí)聯(lián)操作的子集能夠基于參數(shù)針對(duì)所接收到的輸入被確定,所述參數(shù)通過(guò)例子而非限制的方式包括用戶交互定時(shí)、針對(duì)給定元素的級(jí)聯(lián)操作的復(fù)雜性、和/或級(jí)聯(lián)操作能夠被應(yīng)用于的元素的數(shù)目等等。
【專利附圖】
【附圖說(shuō)明】
[0006]參考附圖對(duì)【具體實(shí)施方式】進(jìn)行描述。在圖中,附圖標(biāo)記的最左邊的(一個(gè)或多個(gè))數(shù)字識(shí)別該附圖標(biāo)記首次出現(xiàn)在其中的圖。在本描述和圖中的不同實(shí)例中使用相同的附圖標(biāo)記可以指示類似的或相同的項(xiàng)目。
[0007]圖1是依照一個(gè)或多個(gè)實(shí)施例的示例性實(shí)施方案中的環(huán)境的圖示。
[0008]圖2是更詳細(xì)地示出圖1的示例性實(shí)施方案中的系統(tǒng)的圖示。
[0009]圖3圖示其中級(jí)聯(lián)操作能夠被應(yīng)用的示例性實(shí)施例。
[0010]圖4圖示其中級(jí)聯(lián)操作能夠被應(yīng)用的示例性實(shí)施例。
[0011]圖5圖示其中級(jí)聯(lián)操作能夠被應(yīng)用的示例性實(shí)施例。
[0012]圖6圖示其中級(jí)聯(lián)操作能夠被應(yīng)用的示例性實(shí)施例。
[0013]圖7是描述依照一個(gè)或多個(gè)實(shí)施例的方法的步驟的流程圖。
[0014]圖8是描述依照一個(gè)或多個(gè)實(shí)施例的方法的步驟的流程圖。
[0015]圖9是描述依照一個(gè)或多個(gè)實(shí)施例的實(shí)施方案例子的圖。
[0016]圖10圖示能夠被利用來(lái)實(shí)施本文中所描述的各種實(shí)施例的示例性計(jì)算設(shè)備。
【具體實(shí)施方式】[0017]概沭
各種實(shí)施例使得性能級(jí)聯(lián)操作能夠通過(guò)響應(yīng)于接收到與層次樹中的指定元素中的一個(gè)相關(guān)聯(lián)的輸入來(lái)選擇性地對(duì)所述元素應(yīng)用級(jí)聯(lián)操作的子集而被執(zhí)行。一整套級(jí)聯(lián)操作能夠依照各種參數(shù)在執(zhí)行級(jí)聯(lián)操作的子集之后被執(zhí)行。
[0018]在一個(gè)或多個(gè)實(shí)施例中,級(jí)聯(lián)操作的子集能夠基于參數(shù)針對(duì)所接收到的輸入被確定,所述參數(shù)通過(guò)例子而非限制的方式包括用戶交互定時(shí)、針對(duì)給定元素的級(jí)聯(lián)操作的復(fù)雜性、和/或級(jí)聯(lián)操作能夠被應(yīng)用于的元素的數(shù)目等等。
[0019]在以下討論中,可操作來(lái)采用本文中所描述的技術(shù)的示例性環(huán)境首先被描述。各種實(shí)施例的示例性圖示然后被描述,所述各種實(shí)施例可以被用在示例性環(huán)境中以及在其它環(huán)境中。因此,示例性環(huán)境不限于執(zhí)行所描述的實(shí)施例,并且所描述的實(shí)施例不限于示例性環(huán)境中的實(shí)施方案。
[0020]示例性操作環(huán)境
圖1是在可操作來(lái)采用本文檔中所描述的技術(shù)的示例性實(shí)施方案中的環(huán)境100的圖示。所圖示的環(huán)境100包括可以被以各種方式配置的計(jì)算設(shè)備102的例子。例如,計(jì)算設(shè)備102可以被配置為如關(guān)于圖2進(jìn)一步描述的傳統(tǒng)的計(jì)算機(jī)(例如,臺(tái)式個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)等等)、移動(dòng)站、娛樂(lè)裝置、通信地耦合到電視的機(jī)頂盒、無(wú)線電話、上網(wǎng)本、游戲控制臺(tái)、手持式設(shè)備等等。因此,計(jì)算設(shè)備102的范圍可以從具有大量存儲(chǔ)器和處理器資源的全資源設(shè)備(例如,個(gè)人計(jì)算機(jī)、游戲控制臺(tái))到具有有限的存儲(chǔ)器和/或處理資源的低資源設(shè)備(例如,傳統(tǒng)的機(jī)頂盒、手持式游戲控制臺(tái))。計(jì)算設(shè)備102同樣包括使計(jì)算設(shè)備102執(zhí)行如在下面所描述的一個(gè)或多個(gè)操作的軟件。
[0021]計(jì)算設(shè)備102包括級(jí)聯(lián)操作模塊104,所述級(jí)聯(lián)操作模塊104被配置成使得性能級(jí)聯(lián)操作能夠被以高效的方式執(zhí)行,所述高效的方式被設(shè)計(jì)來(lái)增強(qiáng)用戶的體驗(yàn),如在下面更詳細(xì)地描述的。在至少一些實(shí)施例中,級(jí)聯(lián)操作模塊104能夠利用一個(gè)或多個(gè)定時(shí)器來(lái)測(cè)量與一個(gè)或多個(gè)接收到的手勢(shì)輸入相關(guān)聯(lián)的時(shí)間,并且響應(yīng)地執(zhí)行級(jí)聯(lián)操作。例如,在至少一些實(shí)施例中,級(jí)聯(lián)操作模塊能夠使得性能級(jí)聯(lián)操作能夠通過(guò)響應(yīng)于接收到與層次樹中的指定元素中的一個(gè)相關(guān)聯(lián)的輸入(諸如手勢(shì)輸入)來(lái)選擇性地對(duì)所述元素應(yīng)用級(jí)聯(lián)操作的子集而被執(zhí)行。一整套級(jí)聯(lián)操作然后能夠依照各種參數(shù)在執(zhí)行級(jí)聯(lián)操作的子集之后被執(zhí)行。級(jí)聯(lián)操作的子集能夠基于參數(shù)針對(duì)所接收到的輸入被確定,所述參數(shù)通過(guò)例子而非限制的方式包括用戶交互定時(shí)、針對(duì)給定元素的級(jí)聯(lián)操作的復(fù)雜性、和/或級(jí)聯(lián)操作能夠被應(yīng)用于的元素的數(shù)目等等。
[0022]計(jì)算設(shè)備102同樣包括手勢(shì)模塊105,所述手勢(shì)模塊105辨認(rèn)能夠由一個(gè)或多個(gè)手指來(lái)執(zhí)行的輸入指針手勢(shì),并且使得對(duì)應(yīng)于手勢(shì)的操作或動(dòng)作被執(zhí)行。手勢(shì)可以被模塊105以各種不同的方式辨認(rèn)。例如,手勢(shì)模塊105可以被配置成使用觸摸屏功能性或感測(cè)用戶的手指的接近的功能性辨認(rèn)觸摸輸入,諸如接近于計(jì)算設(shè)備102的顯示設(shè)備108的用戶的手106a的手指,所述用戶的手指可以未必正在物理上觸摸顯示設(shè)備108,例如使用近場(chǎng)技術(shù)。模塊105能夠被利用來(lái)辨認(rèn)單手指手勢(shì)和框(bezel)手勢(shì)、多手指/同手手勢(shì)以及框手勢(shì)、和/或多手指/不同手手勢(shì)以及框手勢(shì)。盡管級(jí)聯(lián)操作模塊104和手勢(shì)模塊105被描繪為單獨(dú)的模塊,但是由兩者所提供的功能性能夠被實(shí)施在單個(gè)集成手勢(shì)模塊中。由模塊104和/或105所實(shí)施的功能性能夠由任何適當(dāng)?shù)嘏渲玫膽?yīng)用被實(shí)施,所述應(yīng)用通過(guò)例子而非限制的方式諸如是web瀏覽器。在不背離所要求保護(hù)的主題的精神和范圍的情況下,其它應(yīng)用能夠被利用。
[0023]計(jì)算設(shè)備102還可以被配置成檢測(cè)并且區(qū)分觸摸輸入(例如,由用戶的手106a的一個(gè)或多個(gè)手指所提供的)和觸針輸入(例如,由觸針116所提供的)。區(qū)分可以被以各種方式執(zhí)行,諸如通過(guò)檢測(cè)顯示設(shè)備108被用戶的手106a的手指接觸的量與顯示設(shè)備108被觸針116接觸的量。
[0024]因此,手勢(shì)模塊105可以通過(guò)辨認(rèn)和利用觸針輸入與觸摸輸入之間的區(qū)別以及不同類型的觸摸輸入與非觸摸輸入來(lái)支持各種不同的手勢(shì)技術(shù)。
[0025]圖2圖示了示例性系統(tǒng)200,其示出了如被實(shí)施在其中多個(gè)設(shè)備通過(guò)中央計(jì)算設(shè)備被互連的環(huán)境中的級(jí)聯(lián)操作模塊104和手勢(shì)模塊105。中央計(jì)算設(shè)備可以對(duì)于所述多個(gè)設(shè)備是本地的或者可以遠(yuǎn)離所述多個(gè)設(shè)備遠(yuǎn)程被定位。在一個(gè)實(shí)施例中,中央計(jì)算設(shè)備是“云”服務(wù)器機(jī)群,其包括通過(guò)網(wǎng)絡(luò)或因特網(wǎng)或其它手段被連接到所述多個(gè)設(shè)備的一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)。
[0026]在一個(gè)實(shí)施例中,這種互連架構(gòu)使得功能性能夠跨越多個(gè)設(shè)備被遞送以便將共同且無(wú)縫的體驗(yàn)提供給多個(gè)設(shè)備的用戶。多個(gè)設(shè)備中的每一個(gè)都可以具有不同的物理要求和能力,并且中央計(jì)算設(shè)備使用平臺(tái)來(lái)使得能夠?qū)⒓柔槍?duì)該設(shè)備所定制的且又針對(duì)所有設(shè)備所共同的體驗(yàn)遞送到該設(shè)備。在一個(gè)實(shí)施例中,目標(biāo)設(shè)備的“類”被創(chuàng)建并且體驗(yàn)是針對(duì)設(shè)備的通用類定制的。設(shè)備的類可以由設(shè)備的物理特征或用途或其它共同特性來(lái)定義。例如,如先前所描述的,計(jì)算設(shè)備102可以被以各種不同的方式配置,諸如以得到移動(dòng)裝置202、計(jì)算機(jī)204以及電視206用途。這些配置中的每一個(gè)都具有大體對(duì)應(yīng)的屏幕尺寸,并且因此計(jì)算設(shè)備102在這種示例性系統(tǒng)200中可以被配置為這些設(shè)備類中的一個(gè)。例如,計(jì)算設(shè)備102可以采取設(shè)備的移動(dòng)裝置202類,其包括移動(dòng)電話、音樂(lè)播放機(jī)、游戲設(shè)備等等。計(jì)算設(shè)備102還可以采取設(shè)備的計(jì)算機(jī)204類,其包括個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、上網(wǎng)本等等。電視206配置包括牽涉設(shè)備的在隨意環(huán)境中的顯示的配置,例如,電視、機(jī)頂盒、游戲控制臺(tái)等等。因此,本文中所描述的技術(shù)可以由計(jì)算設(shè)備102的這些各種配置來(lái)支持并且不限于以下部分中所描述的特定例子。
[0027]云208被圖示為包括用于web服務(wù)212的平臺(tái)210。平臺(tái)210使云208的硬件(例如,服務(wù)器)和軟件資源的底層功能性抽象化并且因此可以作為“云操作系統(tǒng)”。例如,平臺(tái)210可以使將計(jì)算設(shè)備102與其它計(jì)算設(shè)備連接的資源抽象化。平臺(tái)210還可以用來(lái)使資源抽象縮放以便向遇到的針對(duì)web服務(wù)212的需求提供對(duì)應(yīng)水平的規(guī)模,所述web服務(wù)經(jīng)由平臺(tái)210被實(shí)施。各種其它例子也被設(shè)想到,諸如服務(wù)器機(jī)群中服務(wù)器的負(fù)載均衡、防御惡意方(例如,垃圾郵件(spam)、病毒以及其它惡意軟件)等等。
[0028]因此,云208作為策略的一部分被包括,所述策略與經(jīng)由因特網(wǎng)或其它網(wǎng)絡(luò)對(duì)計(jì)算設(shè)備102可得到的軟件和硬件資源有關(guān)。
[0029]由級(jí)聯(lián)操作模塊104和手勢(shì)模塊105所支持的手勢(shì)技術(shù)可以使用移動(dòng)裝置配置202中的觸摸屏功能性、計(jì)算機(jī)204配置的軌跡板功能性被檢測(cè)到,被作為不牽涉與特定輸入設(shè)備接觸的自然用戶接口(NUI)的支持的一部分的相機(jī)檢測(cè)到等等。進(jìn)一步地,用來(lái)檢測(cè)和辨認(rèn)輸入以識(shí)別特定手勢(shì)的操作的執(zhí)行可以諸如通過(guò)計(jì)算設(shè)備102和/或由云208的平臺(tái)210所支持的web服務(wù)212遍及系統(tǒng)200分布。[0030]通常,本文中所描述的功能中的任一個(gè)都能夠使用軟件、固件、硬件(例如,固定邏輯電路)、手動(dòng)處理或這些實(shí)施方案的組合被實(shí)施。如本文中所用的術(shù)語(yǔ)“模塊”、“功能性”以及“邏輯”通常表示軟件、固件、硬件或其組合。在軟件實(shí)施方案的情況下,模塊、功能性或邏輯表示程序代碼,所述程序代碼當(dāng)在處理器(例如,一個(gè)或多個(gè)CPU)上或由處理器(例如,一個(gè)或多個(gè)CPU)執(zhí)行時(shí)執(zhí)行規(guī)定的任務(wù)。程序代碼能夠被存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)器設(shè)備中。在下面所描述的手勢(shì)技術(shù)的特征是平臺(tái)無(wú)關(guān)的,意味著技術(shù)可以被實(shí)施在具有各種處理器的各種商業(yè)計(jì)算平臺(tái)上。
[0031]在接下來(lái)的討論中,各部分描述各種示例性實(shí)施例。標(biāo)題為“示例性級(jí)聯(lián)操作”的部分描述其中級(jí)聯(lián)操作能夠依照一個(gè)或多個(gè)實(shí)施例被執(zhí)行的實(shí)施例。在此之后,標(biāo)題為“使用單個(gè)定時(shí)器的例子”的部分描述其中單個(gè)定時(shí)器能夠依照一個(gè)或多個(gè)實(shí)施例被使用的例子。接下來(lái),標(biāo)題為“使用多個(gè)定時(shí)器的例子”的部分描述其中多個(gè)定時(shí)器能夠依照一個(gè)或多個(gè)實(shí)施例被使用的例子。在此之后,標(biāo)題為“其它參數(shù)”的部分描述能夠附加于定時(shí)參數(shù)或與定時(shí)參數(shù)分離地利用其它參數(shù)以便依照一個(gè)或多個(gè)實(shí)施例執(zhí)行級(jí)聯(lián)操作的實(shí)施例。接下來(lái),標(biāo)題為“示例性方法”的部分描述依照一個(gè)或多個(gè)實(shí)施例的示例性方法。最后,標(biāo)題為“示例性設(shè)備”的部分描述能夠被利用來(lái)實(shí)施一個(gè)或多個(gè)實(shí)施例的示例性設(shè)備的方面。
[0032]已經(jīng)描述了其中性能級(jí)聯(lián)操作功能性能夠被利用的示例性操作環(huán)境,現(xiàn)考慮示例性實(shí)施例的討論。
[0033]示例性級(jí)聯(lián)操作
如上面所指出的那樣,各種實(shí)施例使得性能級(jí)聯(lián)操作能夠通過(guò)響應(yīng)于接收到與層次樹中的指定元素中的一個(gè)相關(guān)聯(lián)的輸入來(lái)選擇性地對(duì)所述元素應(yīng)用級(jí)聯(lián)操作的子集而被執(zhí)行。一整套級(jí)聯(lián)操作能夠依照各種參數(shù)在執(zhí)行級(jí)聯(lián)操作的子集之后被執(zhí)行。在一個(gè)或多個(gè)實(shí)施例中,級(jí)聯(lián)操作的子集能夠基于參數(shù)針對(duì)所接收到的輸入被確定,所述參數(shù)通過(guò)例子而非限制的方式包括用戶交互定時(shí)、針對(duì)給定元素的級(jí)聯(lián)操作的復(fù)雜性、和/或級(jí)聯(lián)操作能夠被應(yīng)用于的元素的數(shù)目等等。
[0034]在下面所描述的實(shí)施例能夠被應(yīng)用于具有級(jí)聯(lián)效果的任何類型的操作。一種類型的級(jí)聯(lián)操作和導(dǎo)致能夠被用戶感知到的可視化的操作有關(guān)。這些可視化能夠被以任何適合的方式定義。但是這樣的可視化能夠以其被定義的一個(gè)方式是通過(guò)利用級(jí)聯(lián)樣式表(CSS),級(jí)聯(lián)樣式表使用偽類(pseudo-class)。兩個(gè)示例性偽類是:hover (懸停)和:active (激活)偽類。然而,應(yīng)當(dāng)了解和理解,這樣的CSS偽類僅構(gòu)成可以是所描述的實(shí)施例的主題的可視化以及更一般地是能夠被應(yīng)用于出現(xiàn)在層次樹(諸如文檔對(duì)象模塊(DOM)樹)內(nèi)的元素的級(jí)聯(lián)操作的一個(gè)例子。同樣地,在不背離所要求保護(hù)的主題的精神和范圍的情況下,其它級(jí)聯(lián)操作(包括呈現(xiàn)可視化的那些)能夠被利用。
[0035]相對(duì)于上面所提到的CSS偽類,考慮下文。
[0036]選擇器上的CSS:h0Ver和:active偽類允許格式被應(yīng)用于由選擇器所選擇的元素中的任一個(gè),所述元素正被懸停(指向)或者激活(例如,點(diǎn)擊或否則指定)或者具有正被懸停或者激活的子孫元素。這種行為典型地通過(guò)將懸停/激活狀態(tài)從正由指點(diǎn)工具所指定的元素沿著祖先樹向上“隧穿”被實(shí)施,而無(wú)論指點(diǎn)工具是用戶的手指(正觸摸顯示屏或被極為貼近地放置)、觸針、鼠標(biāo)或通過(guò)自然用戶接口所接收到的輸入。因此,已指定元素的祖先樹中的任何元素被同樣認(rèn)為處于與已指定元素一樣的懸停/激活狀態(tài)。[0037]對(duì)于大的文檔樹和復(fù)雜的CSS選擇器,確定哪些元素處于懸停狀態(tài)并且應(yīng)用適當(dāng)?shù)母袷娇赡苁前嘿F的操作,如上面所指出的那樣。采用觸摸,例如,用戶交互常常是極其簡(jiǎn)短的。例如,對(duì)元素的輕叩可以和從用戶觸摸屏幕的時(shí)間起直到用戶抬起的時(shí)間為止的幾十毫秒一樣短。在許多情況下,歸因于:hover和:active選擇器,花費(fèi)來(lái)應(yīng)用格式的時(shí)間實(shí)際上能夠超過(guò)用戶交互的持續(xù)時(shí)間。這使用戶在他們的交互之后的一定延遲之后看見懸停/激活樣式“閃爍(blink)”。
[0038]在一個(gè)或多個(gè)實(shí)施例中,為了提供通常響應(yīng)于用戶的交互被立即感知到的視覺反饋,隧穿操作的一部分能夠被部分地完成,以便在懸停狀態(tài)下再現(xiàn)元素的子集。在一段時(shí)間之后或者與其它參數(shù)相關(guān)聯(lián)地,如果用戶仍然被系統(tǒng)感知為正用指點(diǎn)設(shè)備指定該元素,則懸停/激活狀態(tài)能夠被完全隧穿以便應(yīng)用于祖先元素中的全部。
[0039]對(duì)于快速交互,用戶將看見對(duì)所指定的元素的立即視覺反饋,從而確認(rèn)他們的觸摸交互是成功的。對(duì)于在一定時(shí)間段之后持續(xù)的拖延的交互,用戶將像期望的那樣看見格式的完全應(yīng)用。
[0040]已經(jīng)考慮了一些示例性級(jí)聯(lián)操作,現(xiàn)考慮采用單個(gè)定時(shí)器的用途以便使能性能級(jí)聯(lián)操作的例子。
[0041]使用單個(gè)定時(shí)器的例子
圖3是依照一個(gè)或多個(gè)實(shí)施例的圖示了級(jí)聯(lián)操作如何能夠利用單個(gè)定時(shí)器而被應(yīng)用于DOM樹中的元素的樹的圖解表示。首先考慮在300處總體圖示的同心圓的合集。在這個(gè)例子中,每個(gè)圓表示DOM樹中的特定元素。每個(gè)較大的圓包含一個(gè)或多個(gè)圓并且能夠被認(rèn)為是被包含圓的祖先。所以,在這個(gè)例子中,示例性網(wǎng)頁(yè)被總體表示在302處。網(wǎng)頁(yè)302在304,306,308以及310處包括許多可激活的元素??杉せ畹脑乇硎究赡艹霈F(xiàn)在網(wǎng)頁(yè)的頂部處的項(xiàng)目。相應(yīng)地,最里面的圓表示元素304。
[0042]還考慮到,對(duì)于由同心圓的合集所表示的元素,已經(jīng)針對(duì)元素304定義了級(jí)聯(lián)操作。這種級(jí)聯(lián)操作能夠被向上隧穿到在DOM樹中出現(xiàn)的、元素304的其它祖先。在這個(gè)特定例子中,假定級(jí)聯(lián)操作通過(guò)利用CSS:hover偽類來(lái)定義。
[0043]這時(shí)候,關(guān)于在網(wǎng)頁(yè)302中出現(xiàn)的元素中的任一個(gè),沒有輸入已被接收到。
[0044]現(xiàn)假定,在圖4中,用戶像所指示的那樣在這個(gè)例子如通過(guò)在元素上向下觸摸已懸停在元素304之上。然而,任何適合類型的手勢(shì)輸入能夠被利用來(lái)調(diào)用懸停功能性。一旦指定元素304的輸入被接收到,單個(gè)定時(shí)器就能夠被啟動(dòng)并且針對(duì)元素304已被定義的懸停樣式能夠被立即應(yīng)用。在這個(gè)特定例子中,懸停樣式像所指示的那樣導(dǎo)致元素304的顏色改變。如果在一定時(shí)間段(例如,預(yù)定義時(shí)間或者動(dòng)態(tài)地可選擇的時(shí)間)已過(guò)去之后,元素304仍然正被手勢(shì)輸入指定,則元素304的其它祖先元素也能夠使定義的樣式應(yīng)用于它們。作為例子,考慮圖5。
[0045]在那里,元素304保持其顏色改變,并且此外,它在DOM樹中的祖先中的一個(gè)或多個(gè)使由ihover偽類所定義的樣式應(yīng)用于它們。在這個(gè)特定例子中,元素304的一個(gè)祖先是現(xiàn)在出現(xiàn)的可指定項(xiàng)目的菜單。所定義的一個(gè)或多個(gè)樣式的應(yīng)用能夠被應(yīng)用于在DOM樹中的、指定元素的父樹中出現(xiàn)的祖先元素中的全部。
[0046]在所圖示和描述的實(shí)施例中,任何適合的時(shí)間(例如,預(yù)定義時(shí)間)能夠被利用。在至少一些實(shí)施例中,300 ms的預(yù)定義時(shí)間能夠被應(yīng)用以便使能性能級(jí)聯(lián)操作。在至少一些實(shí)施例中,300 ms能夠被使用,因?yàn)檠芯恳呀?jīng)表明,幾乎所有的輕叩在持續(xù)時(shí)間上少于300 ms ο
[0047]另一方面,如果在該時(shí)間或預(yù)定義時(shí)間內(nèi),指定元素304的輸入如通過(guò)例如用戶從元素304移除它們的手指而被移除,則樣式不被應(yīng)用于祖先元素的合集。以這種方式,借助于漸進(jìn)地使用戶沉浸在定義樣式的可視化中贏得了效率,而不必立即對(duì)出現(xiàn)在已指定元素的DOM樹內(nèi)的元素中的全部應(yīng)用樣式。以這種方式,適當(dāng)?shù)嘏渲玫膚eb瀏覽器(或其它應(yīng)用)能夠通過(guò)再現(xiàn)局部格式來(lái)提供基本水平的即時(shí)視覺反饋,同時(shí)等待一定時(shí)間段以便決定是否在元素的DOM樹內(nèi)再現(xiàn)其它格式。此外,與HTML/CSS編程模型的兼容性被維持,因?yàn)檩^長(zhǎng)的用戶交互(諸如觸摸保持手勢(shì))產(chǎn)生應(yīng)用的懸停/激活格式的完全效果。
[0048]在這個(gè)特定例子中,響應(yīng)于接收到指定元素304的輸入,樣式格式被最初應(yīng)用于元素304,同時(shí)在定時(shí)器的未決期間,針對(duì)元素的祖先定義的樣式格式不被應(yīng)用。在至少一些實(shí)施例中,在指定元素時(shí),元素的DOM樹能夠被向上遍歷以識(shí)別滿足或者超過(guò)定義數(shù)目的元素的元素的子集。然后,最初,針對(duì)元素的這個(gè)子集定義的樣式格式通常能夠被立即應(yīng)用,同時(shí)等待定時(shí)器的期滿以查明樣式格式是否將被應(yīng)用于DOM樹中的其它祖先。
[0049]使用多個(gè)定時(shí)器的例子
在一個(gè)或多個(gè)實(shí)施例中,多個(gè)定時(shí)器能夠被利用以便決定何時(shí)應(yīng)用已針對(duì)與已指定元素相關(guān)聯(lián)的、出現(xiàn)在DOM樹中的祖先元素定義的樣式格式。作為例子,考慮圖6,其示出一系列同心圓的合集,所述同心圓的每個(gè)系列在600處被指定。在同心合集內(nèi)的每個(gè)圓表示DOM樹中的元素。同心圓的每個(gè)單獨(dú)的合集表示在不同時(shí)間出現(xiàn)在與指定元素相關(guān)聯(lián)的DOM樹中的相同的多個(gè)元素。在檢測(cè)到指定第一元素的輸入時(shí),針對(duì)第一元素已被定義的樣式格式能夠被應(yīng)用。這由其中最里面的圓被遮蔽的、同心圓的最頂部的合集來(lái)指示。當(dāng)?shù)谝辉乇恢付〞r(shí),第一定時(shí)器被啟動(dòng)。如果在第一定時(shí)器的期滿之后,第一兀素如通過(guò)作為懸停選擇的主體那樣保持被指定,則一個(gè)或多個(gè)附加的祖先元素也能夠使樣式格式應(yīng)用于它們。這由其中兩個(gè)附加的圓被遮蔽的、同心圓的第二合集來(lái)指示。在第二定時(shí)器的期滿時(shí),如果第一元素保持被指定,則一個(gè)或多個(gè)附加的祖先元素也能夠使樣式格式應(yīng)用于它們。這由其中附加的圓被遮蔽的、同心圓的第三合集來(lái)指示。在附加的一個(gè)或多個(gè)定時(shí)器的期滿時(shí),更多的祖先元素能夠使樣式格式應(yīng)用于它們。這由其中圓中的全部都被遮蔽的、同心圓的最底部的合集來(lái)指不。
[0050]其它參數(shù)
如上面所指出的那樣,除時(shí)間參數(shù)外的或附加于時(shí)間參數(shù)的參數(shù)能夠被利用來(lái)查明如何漸進(jìn)地應(yīng)用級(jí)聯(lián)操作。例如,在基于定時(shí)器的方法中,定時(shí)器能夠是可調(diào)整的以適應(yīng)于如用戶輸入如何被接收和/或設(shè)備的操作特性這樣的事情。例如,定時(shí)器可能被調(diào)整來(lái)說(shuō)明用戶輸入以其發(fā)生的速度。具體地,一些用戶可以比其它用戶更迅速地提供輸入,諸如輕叩輸入。在這些實(shí)例中,一個(gè)或多個(gè)定時(shí)器可以被向下(或向上)調(diào)節(jié)來(lái)說(shuō)明較快的(或較慢的)輸入。替換地或附加地,被感知具有較慢的操作特性的設(shè)備可以使它們關(guān)聯(lián)的一個(gè)或多個(gè)定時(shí)器延長(zhǎng)以便說(shuō)明較慢的操作特性。
[0051]替換地或附加地,各種啟發(fā)法能夠被利用來(lái)選擇初始或后續(xù)樣式格式將針對(duì)其被應(yīng)用的元素的數(shù)目。例如,一些啟發(fā)法能夠在每元素或多元素基礎(chǔ)上考慮樣式格式的應(yīng)用將多么復(fù)雜。具體地,在這些實(shí)例中,設(shè)定數(shù)目的元素可以針對(duì)初始樣式格式應(yīng)用基于與樣式格式的應(yīng)用典型地花費(fèi)多長(zhǎng)時(shí)間相關(guān)聯(lián)的數(shù)據(jù)而被選擇。例如,對(duì)于初始定時(shí)器使用300ms的預(yù)定義時(shí)間,如果平均來(lái)說(shuō)元素花費(fèi)100 ms使樣式格式被應(yīng)用,則一個(gè)人可能最初選擇要對(duì)其應(yīng)用樣式格式的、出現(xiàn)在DOM樹中的前兩個(gè)元素。這樣,格式能夠隨著在交互期間剩下的時(shí)間而被再現(xiàn)以便用戶感知視覺反饋。如果僅一個(gè)定時(shí)器被使用,則在該定時(shí)器的期滿之后,祖先樹中的剩余元素可以被選擇用于樣式格式應(yīng)用。在多定時(shí)器實(shí)施例中,在初始定時(shí)器的期滿之后,出現(xiàn)在祖先樹中的元素的下一個(gè)子集可能被選擇等等。
[0052]替換地或附加地,代替選擇要對(duì)其應(yīng)用樣式格式的設(shè)定數(shù)目的元素,隨著祖先樹被遍歷,與對(duì)特定元素應(yīng)用樣式格式相關(guān)聯(lián)的成本能夠被計(jì)算。當(dāng)成本超過(guò)特定門限時(shí),樣式格式的應(yīng)用能夠終止。任何適合的參數(shù)能夠被用于計(jì)算成本,其通過(guò)例子而非限制的方式包括工作、CPU周期等等的通用單位。
[0053]已經(jīng)考慮了其中級(jí)聯(lián)操作能夠被執(zhí)行的示例性實(shí)施例,現(xiàn)考慮依照一個(gè)或多個(gè)實(shí)施例的一些示例性方法。
[0054]示例性方法
圖7是描述依照一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法能夠被與任何適合的硬件、軟件、固件或其組合有關(guān)地執(zhí)行。在至少一些實(shí)施例中,該方法能夠由形式為計(jì)算機(jī)可讀指令的軟件來(lái)執(zhí)行,所述計(jì)算機(jī)可讀指令體現(xiàn)在在某種類型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上,所述計(jì)算機(jī)可讀指令能夠在一個(gè)或多個(gè)處理器的影響下被執(zhí)行。能夠執(zhí)行即將被描述的功能性的軟件的例子是上面所描述的級(jí)聯(lián)操作模塊104和手勢(shì)模塊105。
[0055]步驟700檢測(cè)與級(jí)聯(lián)操作已針對(duì)其被定義的元素相關(guān)聯(lián)的輸入。任何適合類型的輸入能夠被利用。這樣的輸入能夠通過(guò)例子而非限制的方式包括諸如能夠經(jīng)由觸摸手勢(shì)或觸針手勢(shì)被接收到的觸摸輸入。替換地或附加地,這樣的輸入能夠經(jīng)由通過(guò)自然用戶接口所提供的手勢(shì)、非觸摸手勢(shì)、鼠標(biāo)點(diǎn)擊等等被接收到,所述非觸摸手勢(shì)諸如是能夠通過(guò)近場(chǎng)技術(shù)而被查明的非觸摸手勢(shì)。此外,任何適合類型的級(jí)聯(lián)操作能夠被利用,通過(guò)例子而非限制的方式包括通過(guò)CSS偽類所被定義的級(jí)聯(lián)操作。
[0056]步驟702相對(duì)于輸入在步驟700中被檢測(cè)所針對(duì)的元素應(yīng)用級(jí)聯(lián)操作。步驟704對(duì)級(jí)聯(lián)操作已針對(duì)其被定義的關(guān)聯(lián)樹中的不到所有祖先元素應(yīng)用一個(gè)或多個(gè)級(jí)聯(lián)操作。這個(gè)步驟能夠被以任何適合的方式使用任何適合類型的參數(shù)執(zhí)行來(lái)查明要對(duì)其應(yīng)用級(jí)聯(lián)操作的元素。這樣的參數(shù)能夠通過(guò)例子而非限制的方式包括基于時(shí)間的參數(shù)和/或基于時(shí)間的參數(shù)以外的參數(shù)。此外,在最初執(zhí)行步驟704之后,能夠?qū)Ω郊拥脑睾完P(guān)聯(lián)樹中的祖先元素中的不到全部、或者替換地對(duì)所有剩余的祖先元素執(zhí)行這樣的步驟。
[0057]圖8是描述依照一個(gè)或多個(gè)實(shí)施例的另一方法中的步驟的流程圖。該方法能夠被與任何適合的硬件、軟件、固件或其組合有關(guān)地執(zhí)行。在至少一些實(shí)施例中,該方法能夠由形式為計(jì)算機(jī)可讀指令的軟件來(lái)執(zhí)行,所述計(jì)算機(jī)可讀指令體現(xiàn)在在某種類型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上,所述計(jì)算機(jī)可讀指令能夠在一個(gè)或多個(gè)處理器的影響下被執(zhí)行。能夠執(zhí)行即將被描述的功能性的軟件的例子是上面所描述的級(jí)聯(lián)操作模塊104和手勢(shì)模塊105。
[0058]步驟800檢測(cè)與級(jí)聯(lián)操作已針對(duì)其被定義的元素相關(guān)聯(lián)的輸入。任何適合類型的輸入能夠被利用。這樣的輸入能夠通過(guò)例子而非限制的方式包括諸如能夠經(jīng)由觸摸手勢(shì)或觸針手勢(shì)被接收到的觸摸輸入。替換地或附加地,這樣的輸入能夠經(jīng)由通過(guò)自然用戶接口所提供的手勢(shì)、非觸摸手勢(shì)、鼠標(biāo)點(diǎn)擊等等被接收到,所述非觸摸手勢(shì)諸如是能夠通過(guò)近場(chǎng)技術(shù)而被查明的非觸摸手勢(shì)。此外,任何適合類型的級(jí)聯(lián)操作能夠被利用,通過(guò)例子而非限制的方式包括通過(guò)CSS偽類被定義的級(jí)聯(lián)操作。
[0059]步驟802啟動(dòng)定時(shí)器。任何適合類型的定時(shí)器能夠被利用,其例子在上面被提供。步驟804相對(duì)于輸入在步驟800處被檢測(cè)所針對(duì)的元素應(yīng)用級(jí)聯(lián)操作。步驟806查明定時(shí)器是否已期滿。如果定時(shí)器尚未期滿,則步驟808查明來(lái)自步驟800的輸入是否仍然被檢測(cè)到。如果不是,則步驟810中止級(jí)聯(lián)操作的應(yīng)用。另一方面,如果在步驟808處輸入仍然被檢測(cè)到,則步驟812繼續(xù)所應(yīng)用的級(jí)聯(lián)操作并且返回到步驟806。
[0060]如果在步驟806處,定時(shí)器已期滿,則步驟814查明來(lái)自步驟800的輸入是否在該元素上仍然被檢測(cè)到。如果不是,則步驟816中止所應(yīng)用的級(jí)聯(lián)操作。另一方面,如果來(lái)自步驟800的輸入仍然被檢測(cè)到,則步驟818對(duì)級(jí)聯(lián)操作在步驟804中被應(yīng)用所針對(duì)的元素的一個(gè)或多個(gè)相應(yīng)的祖先元素應(yīng)用至少一個(gè)級(jí)聯(lián)操作。由步驟818所應(yīng)用的級(jí)聯(lián)操作能夠被應(yīng)用于祖先元素的子集。替換地或附加地,級(jí)聯(lián)操作能夠被應(yīng)用于祖先元素中的全部。這個(gè)能夠如何被完成的例子在上面被提供。
[0061]已經(jīng)考慮了依照一個(gè)或多個(gè)實(shí)施例的示例性方法,現(xiàn)考慮實(shí)施方案例子。
_2] 實(shí)施方案例子
如上面所指出的那樣,在web頁(yè)面中,用戶能夠使用指點(diǎn)設(shè)備或某種其它工具來(lái)指定元素。當(dāng)元素被指定時(shí),該元素被認(rèn)為處于CSS “懸停”狀態(tài)。此外,同樣如上面所指出的,CSS擴(kuò)展定義以規(guī)定:如果給定元素被指定在“懸停狀態(tài)”下,則其祖先中的全部都被同樣認(rèn)為處于懸停狀態(tài)。將“懸?!睜顟B(tài)傳播到已指定元素的父或祖先的過(guò)程被稱為“隧穿懸?!薄?nèi)容作者然后能夠使用:hover CSS偽選擇器來(lái)對(duì)處于懸停狀態(tài)的元素應(yīng)用樣式格式規(guī)則。例如,以下CSS將對(duì)所有DIV元素在它們處于懸停狀態(tài)時(shí)應(yīng)用邊界(border):div:hover { border:1px solid black;
[0063]注意,給定元素未必占據(jù)由其父所占據(jù)的空間的子集。例如,結(jié)合以下代碼樣本考慮圖9:
【權(quán)利要求】
1.一種方法,包括: 檢測(cè)與級(jí)聯(lián)操作已針對(duì)其被定義的元素相關(guān)聯(lián)的輸入; 對(duì)元素應(yīng)用級(jí)聯(lián)操作;以及 對(duì)關(guān)聯(lián)樹中的、級(jí)聯(lián)操作已針對(duì)其被定義的不到所有的祖先元素應(yīng)用一個(gè)或多個(gè)級(jí)聯(lián)操作。
2.根據(jù)權(quán)利要求1所述的方法,其中所述檢測(cè)包括檢測(cè)觸摸輸入。
3.根據(jù)權(quán)利要求1所述的方法,其中所述檢測(cè)包括檢測(cè)非觸摸輸入。
4.根據(jù)權(quán)利要求1所述的方法,其中所述級(jí)聯(lián)操作包括通過(guò)至少一個(gè)CSS偽類所定義的級(jí)聯(lián)操作。
5.根據(jù)權(quán)利要求1所述的方法,其中應(yīng)用所述一個(gè)或多個(gè)級(jí)聯(lián)操作是通過(guò)使用基于時(shí)間的參數(shù)來(lái)查明何時(shí)應(yīng)用所述一個(gè)或多個(gè)級(jí)聯(lián)操作而被執(zhí)行的。
6.根據(jù)權(quán)利要求1所述的方法,其中應(yīng)用所述一個(gè)或多個(gè)級(jí)聯(lián)操作是通過(guò)至少使用基于時(shí)間的參數(shù)以外的參數(shù)來(lái)查明對(duì)其應(yīng)用所述一個(gè)或多個(gè)級(jí)聯(lián)操作的祖先元素而被執(zhí)行的。
7.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括在應(yīng)用所述一個(gè)或多個(gè)級(jí)聯(lián)操作之后,對(duì)附加的祖先元素應(yīng)用一個(gè)或多個(gè)附加的級(jí)聯(lián)操作。
8.體現(xiàn)計(jì)算機(jī)可讀指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)器媒體,當(dāng)所述計(jì)算機(jī)可讀指令被執(zhí)行時(shí)實(shí)施方法,所述方法包括: 檢測(cè)與級(jí)聯(lián)操作已針對(duì)其被定義的元素相關(guān)聯(lián)的輸入; 響應(yīng)于所述檢測(cè),啟動(dòng)定時(shí)器; 對(duì)元素應(yīng)用級(jí)聯(lián)操作; 響應(yīng)于定時(shí)器期滿并且所述輸入仍然被檢測(cè)到,對(duì)輸入已針對(duì)其被檢測(cè)到的所述元素的一個(gè)或多個(gè)相應(yīng)的祖先元素應(yīng)用至少一個(gè)級(jí)聯(lián)操作。
9.根據(jù)權(quán)利要求8所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述檢測(cè)包括檢測(cè)觸摸輸入。
10.根據(jù)權(quán)利要求8所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述級(jí)聯(lián)操作包括通過(guò)至少一個(gè)CSS偽類所定義的級(jí)聯(lián)操作。
【文檔編號(hào)】G06F3/041GK104025008SQ201380004796
【公開日】2014年9月3日 申請(qǐng)日期:2013年1月6日 優(yōu)先權(quán)日:2012年1月6日
【發(fā)明者】J.S.羅西, J.E.羅杰斯, N.J.E.富爾特旺勒 申請(qǐng)人:微軟公司