我已經添加頂部菜單作爲與位置的div:固定。 它被放置在頁面的頂部,因此它覆蓋了部分內容。 我將佈局向下移動,所以一般情況下都可以,但如果用戶單擊任何錨點鏈接,頁面會滾動到錨點位於頂部的位置。但它被頂部菜單覆蓋。 有沒有辦法來捕獲錨事件和處理它與JavaScript(和jQuery,如果有必要)?如何在錨定導航後向下滾動頁面?
1
A
回答
2
您可以使用這樣的事情:
$('a').click(function(){
$('html').scrollTop($($(this).attr('href')).position().top + menu_height_offset)
})
要獲得錨位置
$($(this).attr('href')).position().top
爲了使偏移有關的固定菜單
menu_height_offset
爲了使移動滾動
$('html').scrollTop()
1
你需要計算元素和sroll的偏移,offset of element - height of the navigationbar
- 位置:
$("a").on("click",function(){
// height of the navigation bar
var height= $("#nav").outerHeight();
// position of the referenced dom-element
var pos = $($(this).attr("href")).position().top;
// scroll to the element
$("body").scrollTop(pos - height);
// suppress default
return false;
})
0
/* START --- scroll till anchor */
(function($) {
$.fn.goTo = function() {
var top_menu_height=$('#div_menu_header').height() + 5 ;
//alert ('top_menu_height is:' + top_menu_height);
$('html, body').animate({
scrollTop: (-1)*top_menu_height + $(this).offset().top + 'px'
}, 500);
return this; // for chaining...
}
})(jQuery);
$(document).ready(function(){
var url = document.URL, idx = url.indexOf("#") ;
var hash = idx != -1 ? url.substring(idx+1) : "";
$(window).load(function(){
// Remove the # from the hash, as different browsers may or may not include it
var anchor_to_scroll_to = location.hash.replace('#','');
if (anchor_to_scroll_to != '') {
anchor_to_scroll_to = '#' + anchor_to_scroll_to ;
$(anchor_to_scroll_to).goTo();
}
});
});
/* STOP --- scroll till anchror */
相關問題
- 1. 滾動以固定導航欄錨定,導航滾動後修復導航
- 2. 網頁設計:「向下滾動導航」
- 3. 向上和向下滾動頁面JavaScript導航
- 4. 在頁面上向下滾動時突出顯示導航點
- 5. 當頁面向下滾動時,導航欄移動到頂部
- 6. 如何使導航欄滾動頁面?
- 7. 固定導航向下滾動時
- 8. 如何在向下滾動頁面時使導航欄更改顏色?
- 9. 如何「向上」/「向下」動畫頁面導航?
- 10. 導航到頁面的特定錨
- 11. Fancybox在頁面滾動後向下打開頁面
- 12. 如何使用固定導航欄重定向到頁面並向下滾動到DIV
- 13. 淡出固定導航欄向下滾動時,淡入當頁面頂部
- 14. Div向下滾動或滾動頁面
- 15. 如何使用固定導航滾動到錨鏈接
- 16. 向下滾動時顯示導航
- 17. 向下滾動時隱藏導航
- 18. 修復導航欄上向下滾動
- 19. jQuery Mobile:頁面滾動後向下滾動
- 20. 如何在Ionic 3的頁面導航上向上/向下滑動?
- 21. 引導,如何使用視口高度向下滾動後導航欄粘滯?
- 22. 導航到PHP頁面,滾動
- 23. 頁面滾動jQuery的導航
- 24. 保留Listview滾動頁面導航
- 25. 如何通過向下滾動頁面來向下滾動元素?
- 26. 如何在頁面加載時向下滾動網頁20px-50px?
- 27. 如何更改:在用戶向下滾動時進行WordPress導航之後?
- 28. 如何在滾動時顯示導航後面的div
- 29. 向下滾動頁面從上到下
- 30. 如何防止JScrollBar滾動頁面向下的特定事件?
向我們展示您到目前爲止嘗試過的方法。 – Lowkase
是的,代碼請 –
改寫你的問題,強調這部分 - *'捕獲錨事件和處理它* –