我正在使用JQuery动画在滚动100或更多像素时向下渲染图像。然后,当我滚动回到顶部时,它需要返回原始状态。而不是在回来的路上,它只是一遍又一遍地上下,直到它最终停止。
我该如何解决?
$(document).ready(function() {
$(window).scroll(function() {
if ($(this).scrollTop() >= 100) {
//alert('scrolled');
$('.flipje_pas_image').animate({
top: -50
}, 1000);
}
if ($(this).scrollTop() < 100) {
$('.flipje_pas_image').animate({
top: -450
}, 1000);
}
});
});
&#13;
答案 0 :(得分:1)
你需要使用一个布尔状态,当遇到if条件时会翻转,这会使动画发生一次而不是滚动事件
像这样$(document).ready(function(){ var once = false; $(window).scroll(function(){
if ($(this).scrollTop() >= 100) {
//alert('scrolled');
if(!once){
once = true
console.log('ssd' , once)
$('.flipje_pas_imag').animate({
top: -50
}, 1000);
}
}
if ($(this).scrollTop() < 100) {
if(once){
once = false;
$('.flipje_pas_imag').animate({
top: -450
}, 1000);
}
}
}); });