我在窗口滚动监听器上设置了这个功能,我试图设置超时是为了回忆它但是到目前为止我似乎无法解决它,任何想法,提前谢谢!
// functions:
var $delayAnimate = function(el, time, effect) {
el.delay(time)
.queue(function(next) {
$(this).addClass(effect);
next();
});
};
// function for multi animations
var multiAnimations = function(el, setTime, ef) {
var i = 0;
el.each(function (key, value) {
i = i + setTime;
$delayAnimate($(this), i, ef);
});
};
// load on window height
var onWindowAnimate = function (h, el, setTime, ef) {
if ($(this).scrollTop() > h) {
// call multi animations function
multiAnimations(el, setTime, ef);
}
};
// get img's
var $affiliateSection = $("#aff-img > li > img");
$(window).scroll(function () {
onWindowAnimate(200, $affiliateSection, 300, 'subtlefadeIn');
});
答案 0 :(得分:3)
很难理解你想要什么,但如果我是对的......
暂停:
$(window).scroll(function () {
setTimeout(function(){
onWindowAnimate(200, $affiliateSection, 300, 'subtlefadeIn');
}, 1000);
});
如果你想在开始新的超时之前等待每个超时结束:
$(window).scroll(function () {
clearTimeout($.data(this, 'AnimationTimer'));
$.data(this, 'AnimationTimer', setTimeout(function () {
onWindowAnimate(200, $affiliateSection, 300, 'subtlefadeIn');
}, 1000));
});