繁体   English   中英

jQuery-滚动或跳到顶部

[英]jQuery - scroll or jump to top

上下文:我有一个单页Web应用程序。 因此,任何时候都可以隐藏很多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);

没运气。

任何替代的想法都非常感谢。

您可以实现以下目的:DEMO: https ://jsfiddle.net/yeyene/bpwtLg1w/1/

不确定内容div的显示和隐藏方式,但是只想将滚动条添加到页面div部分的顶部即可。

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

$(element).position()。top

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);
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM