2013-02-10 87 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