我正在使用iScroll并有3个页面,我通过添加/删除.hidden类来加载。当我滚动第一页上的内容然后更改视图时,我会加载滚动的下一个视图并丢失内容。
如何点击时滚动到可滚动div的顶部?
我基本上使用以下代码来控制视图。我选择这样做是因为加载单独的页面加载在单独的选项卡中并且速度很慢。
function show_info_page(){
$('div.info_page').removeClass('hidden');
$('div.main_page').addClass('hidden');
$('div.stats_page').addClass('hidden');
$('div.contact_page').addClass('hidden');
$('div.info').addClass('active');
$('div.stats').removeClass('active');
$('div.contact').removeClass('active');}
答案 0 :(得分:0)
您可以使用scrollTop()
设置垂直滚动条的位置,使用scrollLeft()
设置水平滚动条的位置。例如:
$('div.info_page').scrollTop(0); // Scroll to top
答案 1 :(得分:0)
iScroll有两个功能来处理这个问题:
refresh()
用于在内容发生变化时通知iScroll。如果您在切换页面时调用它,那么iScroll可能会完全满足您的需求。
scrollTo(0, 0, 0)
明确告诉iScroll立即滚动到左上角。您仍然应该调用refresh()
来更新滚动条的高度,但仅使用refresh()
,iScroll可能会滚动到新内容的底部而不是顶部。
当然,您应该在iScroll对象上调用这两个函数(由构造函数返回)。