jQuery - 滚动或跳转到顶部

时间:2015-04-10 01:24:28

标签: javascript jquery html

上下文:我有一个单页的网络应用程序。因此,任何时候都会隐藏很多div(我不确定这是否重要)。我发现当用户完成一个页面(页面X),然后他们点击返回(到页面Y) - 如果他们返回到页面X,那么位置与他们离开页面时的位置相同。后退按钮位于底部,以便用户再次结束。

我想要的是,当他们返回到第X页时,他们会在页面的顶部,以便他们可以重新开始。无论是向后滚动还是向后跳回 - 无论哪种方式都可以。

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

    // Scroll to top
    setTimeout(function(){
        alert('scroll');
        $('html, body').animate({scrollTop : 0}, 2000);
    }, 2000);

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

    $('html, body').animate({
       scrollTop: $("#top-anchor").offset().top
    }, 2000);

拥有a并使用锚点,使用下面的代码(它只能运行一次,之后因为哈希已经在URL中,我认为它不再有效):

document.hash = '#top-anchor';

也尝试过:

window.scrollTo(0, 0);

没有运气。

非常感谢任何其他想法。

1 个答案:

答案 0 :(得分:0)

你可以实现这样的目标:DEMO:https://jsfiddle.net/yeyene/bpwtLg1w/1/

不确定您的内容div是如何显示和隐藏的,只是想到将滚动添加到页面顶部div部分。

在后退按钮点击事件中添加滚动事件,因为您已经知道要去哪个页面,您可以使用...滚动到此页面顶部...

  

$(元素).POSITION()。顶部

<强> JQUERY

$(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);
    });
});
相关问题