2013-04-24 23 views
0

滚动我fadeIn似乎是每次我滚动这是我想要的触发。但是,这会使动画排队,并在用户停止滚动后结束运行。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"); 
}; 
+0

尝试调用'$( '图标 ')。淡入(' 慢 ')'只有当'$(' 图标')'不可见。这样你可以避免每次都调用它。 – 2013-04-24 10:25:02

回答

0

工作了,感谢所有

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

具有u尽了?

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

对不起,这没有奏效,谢谢回答:) – Brent 2013-04-24 10:32:59

+0

尽管布伦特的答案没有奏效,请检查这两个链接,因为这是一个类似的问题。 [链接#1](http://stackoverflow.com/questions/5353934/check-if-element-is-visible-on-screen),[链接#2](http://stackoverflow.com/questions/487073 /签如果-元件是可见的滚动后) – KevinIsNowOnline 2013-04-24 11:14:34