2014-09-30 26 views
0

我在這個網站的工作:Website問題與jQuery的功能scrollTo(ID)偏移

這是一個頁面的網站,在這裏我使用scrollTo(ID),在這裏看到的代碼:

function scrollTo(id) { 
    $('html, body').animate({scrollTop: $(id).offset().top - 50}, 1000); 
} 

問題是,當您在主頁頂部嘗試按鏈接時,偏移量不起作用,並且幾乎放在您要求的部分(頁面)的下方。 但是,如果您滾動到頁面底部,然後按下鏈接,偏移就像一個魅力,它會讓您處於您要求的每個部分的頂部。

你可以看看我的源代碼,我有一個js.js文件應該顯示我使用所有的功能,也許有一些其他的錯誤,我沒有注意到。 真的需要你的幫助:)!希望你能看到我做錯了什麼。

+0

你應該總是包括所有的代碼,可能導致你的問題你的問題,使得有同樣的問題可以找到答案(即使你的網頁下線) – 2014-09-30 10:28:24

+0

記住你的選擇otherusers。嘗試'{scrollTop的:$( '#' + id)的.o' – 2014-09-30 12:41:47

+0

好吧,我會記得:) 並感謝你的答案,但它不工作。 – 2014-09-30 17:51:20

回答

0

我認爲這是因爲你的菜單中。

當你在頁面的頂部,你的菜單有一個靜態位置,女巫也意味着菜單的高度被添加到瀏覽器滾動到像素的計數。

但是,當瀏覽器已經向下滾動到該位置,菜單變爲固定位置,巫婆則意味着該菜單的高度是從頂部要滾動到該元素的偏移減去。

在代碼方面,我會做這個簡單的小片CSS的補充人體。

body.tiny { padding-top: 60px; } 

假設60像素是菜單的高度。當菜單改變到固定位置時,高度將被添加到身體填充物中,從而像以前那樣推下內容物。

這種方式,您也將擁有更加平滑滾動,當菜單改變它的位置固定和扭轉。