我在一个很长的 HTML 页面上有一个链接。当我单击它时,我希望div
通过滚动到视图中来在窗口中看到页面的另一部分。
有点像 EnsureVisible
其他语言。
我已经退房scrollTop
,scrollTo
但它们看起来像红鲱鱼。
任何人都可以帮忙吗?
我在一个很长的 HTML 页面上有一个链接。当我单击它时,我希望div
通过滚动到视图中来在窗口中看到页面的另一部分。
有点像 EnsureVisible
其他语言。
我已经退房scrollTop
,scrollTo
但它们看起来像红鲱鱼。
任何人都可以帮忙吗?
如果您不想添加额外的扩展,以下代码应该适用于 jQuery。
$('a[href=#target]').
click(function(){
var target = $('a[name=target]');
if (target.length)
{
var top = target.offset().top;
$('html,body').animate({scrollTop: top}, 1000);
return false;
}
});
<a href="#myAnchorALongWayDownThePage">Click here to scroll</a>
<A name='myAnchorALongWayDownThePage"></a>
没有花哨的滚动,但它应该带你到那里。
您可以使用Element.scrollIntoView()
上面提到的方法。如果你在里面不带任何参数,你会立即看到一个丑陋的 scroll。为了防止这种情况,您可以添加此参数 - behavior:"smooth"
。
例子:
document.getElementById('scroll-here-plz').scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"});
只需替换scroll-here-plz
为您的div
或 网站上的元素。如果您在窗口底部看到您的元素,或者位置不是您所期望的,请使用 parameter block: ""
。您可以使用block: "start"
,block: "end"
或block: "center"
。
请记住:始终在对象 {} 内使用参数。
如果仍有问题,请访问https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
有此方法的详细文档。