我一些動畫過程中的JavaScript與此代碼:的setTimeout在Javascript
var direction = $('#rightControl');
function animate()
{
if (hover) return;
if (!direction.is(':visible'))
{
if (direction.attr('id') == 'rightControl') direction = $('#leftControl');
else direction = $('#rightControl');
}
doMove(direction);
}
// Animate slider!
setInterval(animate, 2500);
直到元素#rightControl
存在於頁:調用animate()
功能每一塊有2.5秒,移動我的div(內doMove
)。當#rightControl
消失我改變方向到#leftControl
,...
一切工作很酷,但當頁面在後臺幾次(例如,4-5分鐘),動畫變得瘋狂,並調用每100-200女士。怎麼了?
調用'setInterval'的代碼位於何處?它是否在另一個函數的主體中,是否有可能多次調用該函數? –
@ kirk-woll它被稱爲:'$(document).ready(function(){....});'。只有一次。 – Ockonal
這個http://jsfiddle.net/simevidas/gHZSW/表明,只要setInterval高於鉗位閾值,它就是可靠的。 –