Javascript 返回到上次滚动的位置-jquery移动页面设计
我有一个简单的单页架构。在第一页中,我加载了一些列表项。接下来,我滚动列表,说我达到了第60项。然后我点击了这个项目,它把我带到了第二页Javascript 返回到上次滚动的位置-jquery移动页面设计,javascript,jquery,jquery-mobile,jquery-mobile-listview,Javascript,Jquery,Jquery Mobile,Jquery Mobile Listview,我有一个简单的单页架构。在第一页中,我加载了一些列表项。接下来,我滚动列表,说我达到了第60项。然后我点击了这个项目,它把我带到了第二页 <div data-role="page" id="home"> <div data-role="header" data-position="fixed" data-tap-toggle="false"> <a href="#" class="ui-btn ui-btn-left" id="current">0&l
<div data-role="page" id="home">
<div data-role="header" data-position="fixed" data-tap-toggle="false"> <a href="#" class="ui-btn ui-btn-left" id="current">0</a>
<h1>Header</h1>
<a href="#" class="ui-btn ui-btn-right" id="total">0</a>
</div>
<div role="main" class="ui-content">
<ul data-role="listview" id="list"></ul>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<h1>Footer</h1>
</div>
</div>
<div data-role="page" id="page2">
<div data-role="header" data-position="fixed" data-tap-toggle="false">
<a href="#home" class="ui-btn ui-btn-left">Back</a>
<h1>Header</h1>
</div>
<div role="main" class="ui-content">
Some page
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<h1>Footer</h1>
</div>
</div>
标题
页脚
标题
某页
页脚
现在,当我按下第二页中的back
按钮时,会显示第一页的列表,但滚动位置为0。我希望它是第60项的位置。我错过了什么?如何回到我离开滚动的前一页
通过滚动查看情况,然后按任意按钮,然后按
后退按钮。我对jquery mobile不太了解,但正如您所说,您有两个页面,导航回第一个页面后,您需要上一个页面,我们都知道,我们无法按页面存储任何数据。一旦刷新或重新加载页面,所有内容都将重新初始化。所以,实现目标的唯一方法是,当您单击列表项时,获取其当前滚动位置,并将该位置作为查询字符串参数发送到另一个页面,并将其存储在其中的一个变量中。当用户点击“后退”按钮后不久,您必须再次将该变量作为查询字符串发送到第一页,在“文档准备就绪”事件中,您将有上一个滚动位置,您可以设置该位置。
谢谢当从一页1导航到第2页时,获取第1页的滚动位置,当从第2页返回到第1页时,设置滚动位置
从第1页到第2页
var scrollPosition= $("div").scrollTop();
回到第一页。然后在第1页的准备功能中
$(document).ready(function(){
$("div").scrollTop(scrollPosition);
});
这是多页模板。这两个页面都设计在一个文件上,ajax用于在这两个页面之间导航。我在第一行说你,伙计,我对jquery mobile不太了解,但当你问这个问题并提到页面导航时,我刚刚给了你一个方法,如何完成这个任务它应该自己滚动到最后一个位置。尝试使用最新版本1.4。5@Omar我不能。我使用的是jquery移动主题,它使用1.4.2。除此之外的任何东西都打破了设计。虽然我想从jquerymobile获得一些本地的东西,但我想没有。你的解决方案暂时有效。谢谢