我們的項目使用各種庫(動態Js,jquery,buzz.js等),我們有很多動畫正在進行,有些聲音同時播放,我們的目的是停止所有JavaScript在用戶更改標籤或瀏覽器窗口時進行處理,從而失去焦點。JavaScript代碼在失去焦點時停止
我們知道onBlur
和onFocus
使我們能夠檢測到這種變化,並且使用一個setTimeOut
函數我們可以阻止它。我們想知道是否有更有效的做法或更低水平的解決方案。
在此先感謝。
我們的項目使用各種庫(動態Js,jquery,buzz.js等),我們有很多動畫正在進行,有些聲音同時播放,我們的目的是停止所有JavaScript在用戶更改標籤或瀏覽器窗口時進行處理,從而失去焦點。JavaScript代碼在失去焦點時停止
我們知道onBlur
和onFocus
使我們能夠檢測到這種變化,並且使用一個setTimeOut
函數我們可以阻止它。我們想知道是否有更有效的做法或更低水平的解決方案。
在此先感謝。
這些天來,有requestAnimationFrame()http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html
條有關瀏覽器支持的信息,以及如何在不支持它的瀏覽器來模擬:http://paulirish.com/2011/requestanimationframe-for-smart-animating/。
我們同時播放動畫和聲音。當前標籤失去焦點時,聲音仍會播放,但動畫會凍結。我們使用CreateJS來做動畫和BuzzJS來播放聲音。 我們的問題不在於CPU使用率,而是爲了控制動畫+聲音。 我們可以做些什麼來避免動畫凍結?或者,另一方面,我們如何才能完成停止聲音和動畫,當它失去焦點? – 2012-07-09 13:56:44
你的聲音是否連續或與動畫同步? – 2012-07-09 14:00:53
我們試着讓聲音與動畫同步。一些動畫包含文本的一部分,相應的聲音是指定文本的人。 – 2012-07-09 14:12:29
模糊僅適用於實際接受焦點的元素 - 並非全部都是。當標籤或瀏覽器失去窗口焦點時,某些瀏覽器會自動推遲執行某些操作(例如Chrome停止播放Flash,我認爲)。我會想,按照「檢測標籤當前是否有效」的方式進行搜索會產生一些結果。 – Utkanos 2012-07-09 11:55:56