当前位置:  开发笔记 > 编程语言 > 正文

JavaScript将长页面滚动到DIV

如何解决《JavaScript将长页面滚动到DIV》经验,为你挑选了8个好方法。

我在一个很长的HTML页面上有一个链接.当我点击它时,我希望div通过滚动到视图中在页面的另一部分可见.

有点像 EnsureVisible其他语言.

我已经退房了scrollTop,scrollTo但它们看起来像是红色的鲱鱼.

有人可以帮忙吗?



1> futtta..:

旧的问题,但如果有人通过谷歌(我做)发现这个,谁不想使用锚点或jquery; 有一个内置的javascript函数可以"跳转"到一个元素;

document.getElementById('youridhere').scrollIntoView();

什么更好; 根据quirksmode上的强大兼容性表,所有主流浏览器都支持这一点!


给我一个拥抱哥们.这适用于iPhone :).非常感谢.
根本不是一个平滑的滚动(至少在Firefox上),但它有效,只有一行代码,没有第三方的东西.尼斯.
@Robert,听起来很棒.您能提供链接或提供包含代码的答案吗?
对于正在寻找动画或平滑滚动的人们:`document.getElementById('#something')。scrollIntoView({behavior:'smooth',block:'center'});`

2> 小智..:

如果您不想添加额外的扩展,则以下代码应与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;
        }
    });



3> George Mauer..:

如何使用JQuery ScrollTo - 请参阅此示例代码


JQuery不是javascript还是我们想从头开始编写所有库?我对这个问题的解读是如何实现一个特定的功能,也许他想知道技术细节,但你不知道这比我做的更多.
@BjornTipling - 如果他想在这里看到JavaScript,那就是http://demos.flesler.com/jquery/scrollTo/js/jquery.scrollTo-min.js

4> mjallday..:
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答案是非常好的 - 我之前没有看到过这个.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有