2

我目前正在尝试使用 jquery mobile 开发一个移动网站。而不是href=""我使用onclick="document.location= ""链接..

[example
<a onclick="document.location ='index.html';" title="back" data-transition="slide">Back</a>]

但是数据转换不适用于这个document.location.href=""..有没有解决方案,这样我在使用时可以获得相同的转换效果onclick="document.location= ""..

而且position:fixed属性在android中也不起作用..是否有任何解决方案可以在相同的情况下工作..

4

2 回答 2

5

这是因为 Jquery Mobile 会拦截您的常规链接,然后通过 AJAX 加载页面。只有这样才有可能,因为所有的过渡效果(包括幻灯片)都需要两个页面在 DOM 中

这是JQM 导航模型的链接

如您所见,JQM 劫持了一个链接,对新页面进行 AJAX 调用并加载该页面上 div.data-role="page"中的内容。新页面附加到 DOM,因此您的文档中有 2 个页面。

然后根据您的转换设置新的页面位置(例如在视口外的屏幕左上角)。然后发生转换,它在旧页面上方的新页面中滑动。完成后,旧页面被隐藏。

但是,如果您正在执行document.location,JQM 将不会拦截并仅加载您所说的页面,而无需任何 Ajax,因此无需任何转换。这与在链接上指定 rel="external" 相同。那么它也将是一个没有转换的“正常”链接。

长话短说: 如果您使用的是 document.location ,那么您就没有使用 Ajax 并且不会有任何转换

于 2012-06-04T11:39:18.900 回答
0

理想情况下,第一点不应在锚标签中使用 onclik。使用这样的东西

<a href="javascript:loadPage('admin-list-notification.html?');" data-role="button" data-theme="a">Notification</a>

于 2012-06-04T11:36:41.610 回答