好的,这是我目前面临的问题,当锚链接有名称或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);
});
告诉我如何更改此代码以执行我想要的操作
答案 0 :(得分:1)
您可以搜索您想要匹配的每个区域并返回第一个匹配项,如下所示:
$(window).bind("load", function() {
var urlHash = window.location.href.split("#")[1];
$('html,body').animate({scrollTop:$('.'+urlHash+', #'+urlHash+', [name='+urlHash+']').first().offset().top}, 4000);
});
答案 1 :(得分:0)
寻找id
:
scrollTop:$('#'+urlHash);
寻找名字:
scrollTop:$('[name='+urlHash+']');