2012-06-19 50 views
1

我想寫一個腳本,當用戶點擊鏈接時,頁面會向下滾動到目標減去20px(即 - 如果我的目標位於[0,100]頁面將滾動到[0,80]。這個20px區別的原因是因爲我的網站上有一個橫幅位於20px高度之上。確定窗口的當前Y-POS

目前,我的方法是直接滾動到我的目標,然後減去20px從我目前的位置,我有問題,決定在我的當前y位置雖然

HTML:

<nav> 
    <a href="#chapterA" class="link">ChapterA</a> 
    <a href="#chapterB" class="link">ChapterB</a> 
</nav> 
... 
<a name="chapterA">ChapterA</a> 
<a name="chapterB">ChapterB</a> 

jQuery的:

$('.link').click(function() { 
    var currentY = 0; //how to get current y position? 
    window.scrollTo(0, currentY - 20); 
}); 

回答

1

試試這個:

$('.link').click(function(e) { 
    e.preventDefault() 
    $(window).scrollTop($(window).scrollTop() - 20); 
}); 

注意,如果沒有href屬性錨鏈接是無效的。

+0

感謝您告訴我'href'是必需的。從來不知道。 – Jon

+0

@ icu222much歡迎您。 – undefined

+0

@ icu222much是的,但我的回答沒有'event.pageY',它使用'scrollTop()'。 – undefined