jquery mobile data-transition ="slide"在使用document.location.href =""时不起作用; href =""

use*_*843 2 jquery android jquery-mobile

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

[example
<a onclick="document.location ='index.html';" title="back" data-transition="slide">Back</a>]
Run Code Online (Sandbox Code Playgroud)

但数据转换不适用于此document.location.href=""..是否有任何解决方案,以便我可以在使用时获得相同的过渡效果onclick="document.location= ""..

并且position:fixed属性在android中不起作用..是否有任何解决方案,以便它将在相同的..

fre*_*ent 5

这是因为Jquery Mobile拦截了您的常规链接,然后通过AJAX加载页面.这是唯一可能的,因为所有过渡效果(包括SLIDE)都需要两个页面在DOM中.

这是JQM导航模型的链接

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

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

但是,如果你正在做一个document.location,JQM将不会拦截并只加载你说的页面而不需要任何Ajax,因此没有任何转换.这与在链接上指定rel ="external"相同.那么它也将是一个没有过渡的"正常"链接.

简而言之: 如果您使用的是document.location,那么您不会使用Ajax,也不会有任何转换.