jquery - 如何使用 jquery 滚动到页面上的特定位置?

标签 jquery scroll scrollto jquery-scrollable

是否可以使用 jQuery 滚动到页面上的特定位置?

我要滚动的位置是否必须有:

<a name="#123">here</a>

或者它可以移动到特定的 DOM id?

最佳答案

jQuery 滚动插件

因为这是一个用 jquery 标记的问题,我不得不说,这个库有一个非常好的平滑滚动插件,你可以在这里找到它: http://plugins.jquery.com/scrollTo/

文档摘录:

$('div.pane').scrollTo(...);//all divs w/class pane

$.scrollTo(...);//the plugin will take care of this

用于滚动的自定义 jQuery 函数

您可以通过定义自定义滚动 jquery 函数来使用非常轻量级的方法

$.fn.scrollView = function () {
    return this.each(function () {
        $('html, body').animate({
            scrollTop: $(this).offset().top
        }, 1000);
    });
}

并像这样使用它:

$('#your-div').scrollView();

滚动到页面坐标

使用 scrollTopscrollLeft 属性为 htmlbody 元素制作动画

$('html, body').animate({
    scrollTop: 0,
    scrollLeft: 300
}, 1000);

纯 javascript

使用 window.scroll 滚动

window.scroll(horizontalOffset, verticalOffset);

总结一下,利用window.location.hash跳转到ID为元素

window.location.hash = '#your-page-element';

直接在 HTML 中(辅助功能增强)

<a href="#your-page-element">Jump to ID</a>

<div id="your-page-element">
    will jump here
</div>

关于jquery - 如何使用 jquery 滚动到页面上的特定位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1586341/

相关文章:

javascript - 在 slider 更改时将类添加到标题

javascript - 没有缩放的全屏 SVG

javascript - 两个jquery工具互相干扰

jquery - ScrollTo 内容不居中

jQuery: anchor 加载页面然后滚动到 div

jquery - 如何以响应方式保持 3 个 div 对齐

javascript - 修复复选框元素中的切换所有行为

javascript - 更改 ScrollReveal.js 视口(viewport)

html - 只滚动内容div,其他的应该是固定的

Javascript ScrollTo 仅将事件应用于父 div