jQuery在滚动时排队fadeIn()

时间:2013-04-24 10:03:17

标签: javascript jquery

滚动时我的fadeIn似乎每次滚动都会触发,这就是我想要的。但是这会使动画排队,并在用户停止滚动后最终运行良好。

我尝试使用.stop(true, true)函数,但我认为这不适用于ifelse语句。

到目前为止我的代码:

if($('.icon').isOnScreen()){
    $('.icon').fadeIn("slow");  
} else {
    $('.icon').fadeOut("slow"); 
};

我在下面试过,但这不起作用

if($('.icon').isOnScreen()){
    $('.icon').stop(true,true).fadeIn("slow");  
} else {
    $('.icon').stop(true,true).fadeOut("slow"); 
};

2 个答案:

答案 0 :(得分:0)

你试过他吗?

var isfadeId;
if($('.icon').isOnScreen()){
   if(!isfadeId) $('.icon').fadeIn("slow");
   isfadeId = true;
} else {
   if(isfadeId) $('.icon').fadeOut("slow"); 
   isfadeId = false;
};

答案 1 :(得分:0)

工作了,谢谢所有

if($('.box').isOnScreen()){
    if($('.icon').isOnScreen()){
        $('.icon').fadeIn("slow");      
    } else {
        $('.icon').fadeOut("slow"); 
    }
} else {
    $('.icon').stop().fadeOut("slow");  
};