2009-08-26 48 views
1

問:jQuery:在就緒事件期間增加感知響應

我怎樣才能提高準備活動期間感知的響應?

例如:

  • 我可以彈出一個thickbox實例與 '你知道嗎?'部分隱藏了底層的DOM操作?
    • ...然後在ready事件完成時自動關閉該thickbox實例?

回答

1

您給予用戶將獲得更好的感知響應每一個反饋。加載圖像是經典的 - 並且衆所周知(即與用戶心智模型一致)。厚盒子本身可能很煩人 - 但如果你將它與一個加載信息結合起來,就像遊戲行業的大多數人已經發現的那樣,它將通過同時教育用戶和提供反饋來產生更好的結果。

[編輯]

事情是這樣的:

$(function() { 
    tb_show(caption, url, imageGroup); // show thickbox 

    /* lengthy operation here */ 

    tb_remove(); // remove thickbox 
}); 

[/編輯]

+0

我同意;但我真的很想知道這是否可能,以及是否有人使用jQuery完成了此操作。 – 2009-08-28 01:51:44

+0

這是可能的,jQuery與它無關 - 只需在ready事件開始時彈出thickbox,然後執行操作,並在準備就緒時將其隱藏起來 – 2009-08-28 07:10:04

0

除了進度指標,您可以使用JavaScript setTimeout功能用很短的parallelise多個操作時間到。這有效地允許您在瀏覽器中使用多個線程,以異步方式運行每個操作。

只有在您的操作不依賴於彼此進行排序或計時時,才使用此技術,並且不要一次創建太多超時,否則可能會導致瀏覽器由於內存使用量增加而掛起。

另請注意,瀏覽器有一個最小超時時間,通常在10-20ms左右,但在瀏覽器之間會有所不同;它應該足夠短以致不明顯。如果將超時設置爲0,則默認爲瀏覽器最小值。

這裏是你的旋轉木馬安裝一個簡單的例子,列出分成兩組:

setTimeout(function() { 
    // code for attaching first carousel group 
    // ... 
}, 0); 
setTimeout(function() { 
    // code for attaching second carousel group 
    // ... 
}, 0);