上下文:我有一个单页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并使用锚点,使用下面的代码(但它只能工作一次,因为散列已经在网址中了,我想它不再工作了):
document.hash = '#top-anchor';还尝试了:
window.scrollTo(0, 0);不走运。
任何可供选择的想法都非常受欢迎。
发布于 2015-04-10 10:49:13
您可以这样实现: DEMO:https://jsfiddle.net/yeyene/bpwtLg1w/1/
我不确定你的内容div是如何显示和隐藏的,但我只是想在页面div的顶部添加滚动条。
添加后退按钮上的滚动事件单击事件,因为您已经知道要转到哪个页面,您可以滚动到此页面的顶部,通过使用...
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);
});
});https://stackoverflow.com/questions/29551808
复制相似问题