Jquery 外部页面平滑滚动

Jquery External Page Smooth Scroll

本文关键字:平滑 滚动 外部 Jquery      更新时间:2023-09-26

好的,这是我目前面临的问题,当锚链接具有名称或 ID 时,如何让 jquery 平滑滚动到锚链接。

<a name="scrollhere"> Smooth Scroll here on page load </a>
<a id="scrollhere"> Smooth Scroll here on page load </a>

因此,无论锚链接说什么,它都应该在页面加载后平滑滚动。这是一个人给我的代码,它有效。但唯一的问题是,这段代码只有在这是secnario时才有效

<a class="scrollhere"> Smooth Scroll here on page load </a>

仅当锚链接具有我希望平滑滚动去哪里的类时,该代码才有效。但我希望它是一个名字和/或一个ID。

$(window).bind("load", function() {
       var urlHash = window.location.href.split("#")[1];
       $('html,body').animate({scrollTop:$('.'+urlHash).offset().top}, 4000);  
});

告诉我如何更改此代码以执行我想要它执行的操作

您可以搜索要匹配的每个区域并返回第一个匹配项,如下所示:

$(window).bind("load", function() {
   var urlHash = window.location.href.split("#")[1];
   $('html,body').animate({scrollTop:$('.'+urlHash+', #'+urlHash+', [name='+urlHash+']').first().offset().top}, 4000);
});

查找id

scrollTop:$('#'+urlHash);

要查找名称:

scrollTop:$('[name='+urlHash+']');