如何使用JavaScript滚动到页面顶部?滚动条立即跳到页面顶部也是可取的,因为我不希望实现平滑滚动。


当前回答

尝试以下代码:

$('html, body').animate({
    scrollTop: $("div").offset().top
}, time);

div=>要移动滚动的Dom元素。

时间=>毫秒,定义滚动速度。

其他回答

用于滚动到页面顶部的元素和元素

WebElement tempElement=driver.findElement(By.cssSelector("input[value='Excel']"));

            ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", tempElement);

尝试此操作以在顶部滚动

<script>
 $(document).ready(function(){
    $(window).scrollTop(0);
});
</script>

使用简单的css尝试这个解决方案,只需将css滚动行为:在html和body上平滑,就像我在css中应用的那样。就是这样

document.querySelector('a').onclick=函数(){window.srollTo(0,0)}html,正文{滚动行为:平滑;}一个{背景色:红色;颜色:#fff;边界半径:10px;边距:10px 0;显示:内联块;填充:10px 20px;}<p>自从1500年代以来,Lorem Ipsum就一直是行业的标准伪文本,当时一位不知名的印刷商拿着一把打字机,把它弄乱,做成了一本打字样本书。它不仅存活了五个世纪,而且跨越了电子排版,基本保持不变。20世纪60年代,随着包含Lorem Ipsum段落的Letraset页的发布,以及最近的桌面出版软件Aldus PageMaker(包括Lorem Ipsum版本)的推出,它开始流行</p> <p>自从15世纪以来,Lorem Ipsum一直是行业的标准伪文本,当时一个不知名的打印机拿着一盘打字机,将其打乱,制成一本打字样本书。它不仅存活了五个世纪,而且跨越了电子排版,基本保持不变。20世纪60年代,随着包含Lorem Ipsum段落的Letraset页的发布,以及最近的桌面出版软件Aldus PageMaker(包括Lorem Ipsum版本)的推出,它开始流行</p> <p>自从15世纪以来,Lorem Ipsum一直是行业的标准伪文本,当时一个不知名的打印机拿着一盘打字机,将其打乱,制成一本打字样本书。它不仅存活了五个世纪,而且跨越了电子排版,基本保持不变。20世纪60年代,随着包含Lorem Ipsum段落的Letraset页的发布,以及最近的桌面出版软件Aldus PageMaker(包括Lorem Ipsum版本)的推出,它开始流行</p> <p>自从15世纪以来,Lorem Ipsum一直是行业的标准伪文本,当时一个不知名的打印机拿着一盘打字机,将其打乱,制成一本打字样本书。它不仅存活了五个世纪,而且跨越了电子排版,基本保持不变。20世纪60年代,随着包含Lorem Ipsum段落的Letraset页的发布,以及最近的桌面出版软件Aldus PageMaker(包括Lorem Ipsum版本)的推出,它开始流行</p> <p>自从15世纪以来,Lorem Ipsum一直是行业的标准伪文本,当时一个不知名的打印机拿着一盘打字机,将其打乱,制成一本打字样本书。它不仅存活了五个世纪,而且跨越了电子排版,基本保持不变。20世纪60年代,随着包含Lorem Ipsum段落的Letraset页的发布,以及最近的桌面出版软件Aldus PageMaker(包括Lorem Ipsum版本)的推出,它开始流行</p> <p>自从15世纪以来,Lorem Ipsum一直是行业的标准伪文本,当时一个不知名的打印机拿着一盘打字机,将其打乱,制成一本打字样本书。它不仅存活了五个世纪,而且跨越了电子排版,基本保持不变。20世纪60年代,随着包含Lorem Ipsum段落的Letraset页的发布,以及最近的桌面出版软件Aldus PageMaker(包括Lorem Ipsum版本)的推出,它开始流行</p><a>滚动到顶部</a>

我希望这对你有很大帮助。请告诉我你的想法

滚动到带有动画的页面顶部:

window.scrollTo({ top: 0, behavior: 'smooth' });

许多用户建议同时选择html和body标签以实现跨浏览器兼容性,如下所示:

$('html, body').animate({ scrollTop: 0 }, callback);

如果你指望回调只运行一次,这可能会让你绊倒。它实际上会运行两次,因为您选择了两个元素。

如果这对你来说是个问题,你可以这样做:

function scrollToTop(callback) {
    if ($('html').scrollTop()) {
        $('html').animate({ scrollTop: 0 }, callback);
        return;
    }

    $('body').animate({ scrollTop: 0 }, callback);
}

这在Chrome$('html')中有效的原因。scrollTop()返回0,但在其他浏览器(如Firefox)中无效。

如果滚动条已经位于顶部,您不想等待动画完成,请尝试以下操作:

function scrollToTop(callback) {
    if ($('html').scrollTop()) {
        $('html').animate({ scrollTop: 0 }, callback);
        return;
    }

    if ($('body').scrollTop()) {
        $('body').animate({ scrollTop: 0 }, callback);
        return;
    }

    callback();
}