JS新手vs Nivo Slider。引起問題Nivo Slider瀏覽器/標籤頁/窗口模糊/焦點
動作:用戶切換到一個不同的標籤頁或窗口
問題:NIVO滑塊繼續在後臺運行。返回到標籤頁/窗口後,我的自定義動畫(添加到jquery.nivo.slider.js
)失去控制。我簡單的動畫
例子:
$('#element').animate({"top": "0px"}, "slow");
我居然想出解決方案,將發佈它的成員在提高。
謝謝!
JS新手vs Nivo Slider。引起問題Nivo Slider瀏覽器/標籤頁/窗口模糊/焦點
動作:用戶切換到一個不同的標籤頁或窗口
問題:NIVO滑塊繼續在後臺運行。返回到標籤頁/窗口後,我的自定義動畫(添加到jquery.nivo.slider.js
)失去控制。我簡單的動畫
例子:
$('#element').animate({"top": "0px"}, "slow");
我居然想出解決方案,將發佈它的成員在提高。
謝謝!
當您轉到另一個選項卡(例如,通過onclick事件)時,是否可以停止滑塊,然後在返回到inital選項卡時繼續運行?
$('#slider').data('nivoslider').stop(); //Stop the Slider
$('#slider').data('nivoslider').start(); //Start the Slider
這是一個適合我的解決方案。請讓我知道,如果有什麼我可以做的更好。謝謝!
if (/*@[email protected]*/false) { // check for Internet Explorer
document.onfocusin = function() {
vars.paused = false;
//Restart the timer
if(timer == '' && !settings.manualAdvance){
timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
}
}
document.onfocusout = function() {
vars.paused = true;
clearInterval(timer);
timer = '';
}
} else {
window.onfocus = function(){
vars.paused = false;
//Restart the timer
if(timer == '' && !settings.manualAdvance){
timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
}
}
window.onblur = function(){
vars.paused = true;
clearInterval(timer);
timer = '';
}
}
我面對的是找到一個跨瀏覽器友好的方式來捕捉焦點/模糊事件的主要問題。我發現的解決方案似乎可以與較新的瀏覽器一起工作,儘管我還沒有做過廣泛的測試。您建議的方法會停止整個Nivo Slider循環嗎?我會給它一個鏡頭。謝謝你的幫助。 – DeFeNdog
我不確定你在你的頁面上做了什麼,但這些都是原生的Nivo功能,所以它們不應該成爲問題。起初我以爲你的意思是改變網站內的標籤(這就是爲什麼我說onclick事件),但如果你的意思是瀏覽器標籤,像你已經發現的window.onblur/onfocus去。 – Shomz