2012-03-07 52 views
0

我有一個網頁,其中是這樣的:如何使用jquery識別頁面已滾動到哪個部分?

<nav style="position:fixed;top=0;left=0;width:100px;"> 
    <a class="one" href="#one">One</a> 
    <a class="two" href="#two">Two</a> 
    <a class="three" href="#three">Three</a> 
    <a class="four" href="#four">Four</a> 
    <a class="five" href="#Five">Five</a> 
</nav> 
<section style="margin-left:120px;height:550px;"> 
    <a name="one" id="one"></a> 
    Content of section one ... 
</section> 
<section style="margin-left:120px;height:350px;"> 
    <a name="two" id="two"></a> 
    Content of section two ... 
</section> 
<section style="margin-left:120px;height:750px;"> 
    <a name="three" id="three"></a> 
    Content of section three ... 
</section> 
<section style="margin-left:120px;height:450px;"> 
    <a name="four" id="four"></a> 
    Content of section four ... 
</section> 
<section style="margin-left:120px;height:250px;"> 
    <a name="five" id="five"></a> 
    Content of section five ... 
</section> 

導航始終是可見的,當用戶點擊一個鏈接是jQuery中獲得。主動類。但是當用戶滾動到一個頁面時,我想要改變.active鏈接,這取決於哪一部分現在位於可見窗口的頂部。
我試圖玩$(window).scroll()和$(link.hash).offset()。頂部,但說實話,我不知道如何管理它正常工作。

回答

1

你可以使用:jQuery的可見選擇器,看到這個例子;

$("section:visible").filter(":last-child").addClass("active"); 
+0

OK考慮使用:第一個孩子,而不是:最後一個孩子 – eyurdakul 2012-03-07 15:02:30

相關問題