我爲我的單頁網站使用了平滑滾動腳本。它滾動到每個錨點。jQuery腳本平滑滾動到具有不同偏移量的不同部分
由於設計原因,我無法將錨點直接對齊到頁面頂部。我必須創建隱藏的錨點,這些錨點位於頁面的上方,因此它不會完全貼到頂部。
這是我目前使用的腳本:
jQuery(document).ready(function($) {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({
scrollTop: $('[name="' + this.hash.substring(1) + '"]').offset().top
}, 500);
});
});
我被告知,我可以使抵消這種腳本中發生。我可以簡單地在頂部添加一些東西來將它抵消一定數量的像素,而不是在每個地方都有這些小的隱藏錨點。這將是頂部 - 250
$('html,body').animate({
scrollTop:$('[name="' + this.hash.substring(1) + '"]').offset().top - 250
}, 500);
問題是,這將使偏移總是250像素,我需要它是變量,以便例如,投資組合DIV可以用的200像素偏移固定,但聯絡div只有50px。
任何人都可以幫助我寫一些選擇器到腳本,這將允許我調整這個頂部 - [變量]基於哪個div被錨定?
你有沒有試過你的代碼片段?它應該像獲得錨的偏移量並從動態值中減去250一樣工作。可以肯定的是,嘗試用括號圍繞你的計算。 – Bojangles 2012-08-20 11:34:15
你可以在http://jsfiddle.net/上提供一些簡單的測試代碼嗎?不知道你的'div#contact'和'div#portfolio'在哪裏。 – Giberno 2012-08-20 12:12:48
嗨,是的,我已經嘗試過。它可以工作,但它始終位於div上方250px處,這不是我想要的。 – Francesca 2012-08-21 08:18:06