[英]Disable Smooth Scrolling on Non-Anchor Hash Link?
我有一些jQuery可以平滑滾動:
$(document).on('click', 'a[href^="#"]', function (event) {
event.preventDefault();
$('html, body').animate({
scrollTop: $($.attr(this, 'href')).offset().top
}, 1400);
});
效果很好,除了頁面上還有一些使用哈希鏈接的標簽。 單擊每個選項卡時,頁面將滾動到屏幕頂部。
只有在將特定錨添加到哈希(例如/#features)時,才有辦法使這種平滑滾動工作,而僅當它是哈希(例如/#)時不起作用。
您可以添加:not()
選擇器,以消除href="#"
觸發click
事件。
$(document).on('click', 'a[href^="#"]:not([href=#])', function(event) { console.log("Clicked"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="#">Hash Only</a> <a href="#Anchor1">Anchor 1</a> <a href="#Anchor2">Anchor 2</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.