我在一个很长的HTML页面上有一个链接.当我点击它时,我希望div
通过滚动到视图中在页面的另一部分可见.
有点像 EnsureVisible
其他语言.
我已经退房了scrollTop
,scrollTo
但它们看起来像是红色的鲱鱼.
有人可以帮忙吗?
旧的问题,但如果有人通过谷歌(我做)发现这个,谁不想使用锚点或jquery; 有一个内置的javascript函数可以"跳转"到一个元素;
document.getElementById('youridhere').scrollIntoView();
什么更好; 根据quirksmode上的强大兼容性表,所有主流浏览器都支持这一点!
如果您不想添加额外的扩展,则以下代码应与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; } });
如何使用JQuery ScrollTo - 请参阅此示例代码
Click here to scroll
7> 小智..:您可以使用
Element.scrollIntoView()
上述方法。如果不带任何参数,将立即出现丑陋的滚动。为了防止这种情况,您可以添加此参数-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
有此方法的详细文档。
8> Chuck..:这里发布的答案- 与您的问题相同的解决方案
编辑:如果你想要一个平滑的滚动,JQuery答案是非常好的 - 我之前没有看到过这个.