首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -滚动或跳到顶部

问jQuery -滚动或跳到顶部
EN

Stack Overflow用户
提问于 2015-04-10 09:24:28
回答 1查看 185关注 0票数 0

上下文:我有一个单页web应用程序。所以在任何时候都有很多div被隐藏(我不确定这是否重要)。我发现当用户完成一个页面(页面X)时,他们点击后退(转到页面Y) -如果他们返回到页面X,那么位置与他们离开页面时相同。后退按钮在底部,所以用户最终又回到了那里。

我想要的是,当他们返回到页面X的时候,他们会在页面的顶部,这样他们就可以重新开始。无论是向后滚动还是直接向后跳转--任何一种方式都可以。

我已经尝试了以下所有方法,但都没有成功:

代码语言:javascript
复制
    // Scroll to top
    setTimeout(function(){
        alert('scroll');
        $('html, body').animate({scrollTop : 0}, 2000);
    }, 2000);

在顶部添加id为top-anchor的div,并使用:

代码语言:javascript
复制
    $('html, body').animate({
       scrollTop: $("#top-anchor").offset().top
    }, 2000);

拥有a并使用锚点,使用下面的代码(但它只能工作一次,因为散列已经在网址中了,我想它不再工作了):

代码语言:javascript
复制
document.hash = '#top-anchor';

还尝试了:

代码语言:javascript
复制
window.scrollTo(0, 0);

不走运。

任何可供选择的想法都非常受欢迎。

EN

回答 1

Stack Overflow用户

发布于 2015-04-10 10:49:13

您可以这样实现: DEMO:https://jsfiddle.net/yeyene/bpwtLg1w/1/

我不确定你的内容div是如何显示和隐藏的,但我只是想在页面div的顶部添加滚动条。

添加后退按钮上的滚动事件单击事件,因为您已经知道要转到哪个页面,您可以滚动到此页面的顶部,通过使用...

JQUERY

代码语言:javascript
复制
$(document).ready(function () {
    $('input[type=button]').on('click', function(){
        getPageID = $(this).attr('id');

        $('.page').hide(0);
        $('div#'+getPageID).show(0);

        $('html,body').animate({
            scrollTop: $('div#'+getPageID).position().top - 10
        }, 500);
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29551808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档