2013-03-15 79 views
0

我有一個頁面佈置在全窗口的div。導航是通過點擊導航按鈕完成的,我不希望用戶能夠滾動到div之間的位置,所以我設置了溢出:隱藏在我的容器上。這部分工作正常。如果我使用溢出jquery waypoints不會觸發:隱藏

HTML:

<body> 
    <div id="container"> 
     <div class="slide" id="slide1"> <span class="content">page 1</span> 

     </div> 
     <div class="slide" id="slide2"> <span class="content">page 2</span> 

     </div> 
     <div class="slide" id="slide3"> <span class="content">page 3</span> 

     </div> 
    </div> 
<div id="navigation"> 
    <ul> 
    <li><a href="#slide1" class="navbtn1" class="scroll">&nbsp;</a> 
    </li> 
    <li><a href="#slide2" class="navbtn2" class="scroll">&nbsp;</a> 
    </li> 
    <li><a href="#slide3" class="navbtn3" class="scroll">&nbsp;</a> 
    </li> 
    </ul> 
</div> 
</body> 

而這裏的我使用的JavaScript:

$(document).ready(function(){ 
// Make navbtn active when page is scrolled down to slide 
$('#slide1').waypoint(function(down){ 
    $('#main .active').removeClass('active'); // remove the class from the currently selected 
    $('#main a.navbtn1').addClass('active'); // add the class to the newly clicked link 
}); 

$('#slide2').waypoint(function(down){ 
    $('#main .active').removeClass('active'); // remove the class from the currently selected 
    $('#main a.navbtn2').addClass('active'); // add the class to the newly clicked link 
}); 

$('#slide3').waypoint(function(down){ 
    $('#main .active').removeClass('active'); // remove the class from the currently selected 
    $('#main a.navbtn3').addClass('active'); // add the class to the newly clicked link 
}); 
}); 

我確實有燒製代碼塊時,我向上滾動,但它看起來就像這但是'up'而不是'down'和一個偏移量:-1。

問題是,我使用Waypoints jQuery插件來檢測#slide何時位於視口的頂部,並在關聯的navbtn上設置活動狀態。 Waypoint不再發射。如果我把刪除溢出:隱藏,它的工作原理,但在那裏,它只會觸發一次,當我加載頁面。

任何想法爲什麼Waypoints在我使用overflow時會停止觸發:hidden?

回答

0

嘗試應用overflow:僅隱藏在body元素上,而不隱藏在html和body元素上。 爲我效勞