是否有可能我们可以停止setInterval意味着下一个间隔只会在第一个事件完成时才会调用。停止setInterval直到操作未执行?
我只想装载下一张图片时才加载上一张图片。这个事件只有在鼠标悬停后才能使用。但是如果下一张图片的大小很大,那么下一个间隔是在我的情况下调用..我想要停止间隔直到最后图像未加载。
这是我的代码:
jQuery('.product').on('mouseover', function(){
timer = setInterval(function() {
if (counter === product_images.length) {
counter = 0;
}
// selector.addClass('hidden');
loading_image.removeClass('hidden');
selector.attr('src', 'localhost/product/' + product_images[counter]);
var loadImage = new Image();
loadImage.src = selector.attr('src');
loadImage.onload = function() {console.log('after load');
loading_image.addClass('hidden');
// selector.removeClass('hidden');
selector.show();
};
counter = counter + 1;
}, 1000);
我们怎样才能阻止的setInterval或阻止其进入下一个区间,即使任务上次间隔不completed.Not为clearInterval,应继续(setInterval的),如果第一任务完成。
请帮帮我。
我想你正在寻找'clearInterval(timer);' – Imperative 2015-02-06 10:19:53
不适用于clearInterval setInterval应该是继续的,但只停止该移动,直到第一个任务没有完成。 – SINGH 2015-02-06 10:21:31
你需要使用回调和/或承诺那 – atmd 2015-02-06 10:23:39