尝试在滚动时触发一次动画,但会多次触发。
$(window).scroll(function(){
var y = $(window).scrollTop();
var flagscroll=true;
if( y < 30 && y > 20 && flagscroll==true ) {
flagscroll=false;
$('[data-label="SearchPanel"]').animate({
top: "-=34px",
}, 200 );
}
});
我在这里缺少什么?谢谢你的想法!
答案 0 :(得分:3)
对于每个滚动事件,您的标志始终设置为true。您必须将初始化放在事件函数声明之外:
var flagscroll=true;
$(window).scroll(function(){
var y = $(window).scrollTop();
if( y < 30 && y > 20 && flagscroll==true ) {
flagscroll=false;
$('[data-label="SearchPanel"]').animate({
top: "-=34px",
}, 200 );
}
});
答案 1 :(得分:0)
在var flagscroll=true;
$(window).scroll
像
var flagscroll=true;
$(window).scroll(function(){
var y = $(window).scrollTop();
if( y < 30 && y > 20 && flagscroll==true ) {
flagscroll=false;
$('[data-label="SearchPanel"]').animate({
top: "-=34px",
}, 200 );
}
});