2013-02-10 86 views
0

以下问题。我有一个很长的滚动网页,其中添加类到每一个DIV如果与inview.js视停止事件并将变量设置为默认

var $div1 = $('#div1'); 
var $div2 = $('#div2'); 
//..... 
var only_once = 0; 

$('#div1, #div2, #div3, #div4, #div5').bind('inview', function (event, visible) 
{ 
    if (visible == true) { 
     $(this).addClass("inview"); 
    } else { 
     $(this).removeClass("inview"); 
    } 
}); 

时,增加了类IM做一些活动和if条件,如果inview被解雇,其中应该发生的事第一次然后停下来。我尝试过用开关only_once为1

if($div1.hasClass("inview")){ 
    // here some functions... 

    if (only_once == 0) { 
     $('.float-second').css('left', 0); 
     $('.float-second').css('top', 0); 
     only_once = 1; 
    } 

    if($div2.hasClass("inview")){ 
     // here some functions... 


     if (only_once == 1) { 
      $('.float-third').css('left', 0); 
      $('.float-third').css('top', 0); 
      only_once = 2; 
     } 
     // and this for the other divs too 

的问题是,当我做这种方式它不火时,该网站加载在中部或底部和IM或因为如果条件需要滚动上下第一个事件是因为它之前的价值。 希望你明白我的观点,我该如何做好这项工作?

回答

0

我想我明白你遇到的问题。您可以查看页面多少滚动使用:

$(document).scrollTop(); 

如果它比你决定,你可以打电话给你需要的,如果它加载页面插件会做的顶部,否则调用函数的一些值那对你。

+0

有趣的是,你会很好,并告诉我如何?我的意思是即时消息不是那jquery ...一个小方法会很好! – supersize 2013-02-10 21:02:48

+0

like'$(document).scrollTop(300){ fire me something};'?? – supersize 2013-02-10 21:04:40

+0

它会像这样:if($(document).scrollTop()> 300){...}。等待是inview.js没有触发的问题? – Jeffpowrs 2013-02-10 21:46:28