1
是否可以更改滾動條相對於新哈希標籤的位置? 目前,該頁面使用#target滾動到目標元素的頂部,這是正常行爲。有沒有辦法將它移動,以便頁面滾動到比錨定標記更靠後的100px(在錨點標記之前添加額外的100px)?使用#anchors移動具有額外定位的滾動條
不確定是否應該使用錨點或javascript的狡猾位置。不知道我真的能夠改變錨點的位置,所以我希望有一個JavaScript解決方案。
感謝
是否可以更改滾動條相對於新哈希標籤的位置? 目前,該頁面使用#target滾動到目標元素的頂部,這是正常行爲。有沒有辦法將它移動,以便頁面滾動到比錨定標記更靠後的100px(在錨點標記之前添加額外的100px)?使用#anchors移動具有額外定位的滾動條
不確定是否應該使用錨點或javascript的狡猾位置。不知道我真的能夠改變錨點的位置,所以我希望有一個JavaScript解決方案。
感謝
你可以回答結合起來,這樣一個問題:一些額外的邏輯On - window.location.hash - Change?
:
$(function(){
var win = $(window); //cache your jq objects!
function fixScrollTop(){
win.scrollTop(win.scrollTop() + 100);
}
if(window.location.hash !== ""){
fixScrollTop();
}
win.bind('hashchange', fixScrollTop);
});
哦,在#anchor的URL,如果你有控制,你可以(可能取決於您要拍攝的瀏覽器兼容性)將其設置爲帶有ID的任何元素的ID,以使瀏覽器滾動至該ID。
+1與hashchange事件組合 - 整潔的解決方案。請注意,您也可以爲'scrollTop'製作動畫。此外,類似的尼特,但jQuery緩存對窗口的引用,所以我不認爲這是如此重要的在這種情況下。 – harpo
啊,好主意。謝謝。雖然我猜測hashchange事件只會在頁面加載後觸發,也就是說,我已經在該頁面上,然後更改散列?如果我直接加載一個頁面'example.php#target'會在頁面加載時觸發hashchange嗎? –
我所做的更改應該適用於onload – dtanders