[英]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.