首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery移动页面过渡

jQuery移动页面过渡
EN

Stack Overflow用户
提问于 2012-06-06 15:56:15
回答 4查看 11.6K关注 0票数 0

我正在使用我的应用程序(HTML5移动应用程序)中的jQuery移动页面过渡功能,其中包括:

代码语言:javascript
复制
<a href="test.html" data-transition="slide">abc</a>

页面切换效果良好(幻灯片动画):

代码语言:javascript
复制
<a onclick="document.location.href = 'test.html';" data-transition="slide">abc</a> 

页面切换不起作用,它只是导航,而不是滑动。

我希望页面转换与第二个选项一起工作。

请帮帮忙

EN

回答 4

Stack Overflow用户

发布于 2012-06-08 00:18:27

原因是,在第一种情况下,JQM进行页面更改。在第二种情况下,您可以通过更改位置来手动更改页面。使用ajax的jquery更改的页面将获得页面转换。

要更改切换到幻灯片,您可以配置默认设置$.mobile.defaultPageTransition = "slide";

使用$.mobile.changePage()函数更改页面。changePage()函数将为您执行页面转换。

代码语言:javascript
复制
<!-- html -->
<a class="testLink" data-transition="slide">abc</a>

//js

代码语言:javascript
复制
$(document).off('pagechange');
$(document).on('pagechange', function (e, ui) {
    // generally written in pagechange event.
    $('.testLink').off();
    $('.testLink').on('click', function (e) {
        $.mobile.changePage('test.html', {
            changeHash: true,
            dataUrl: "test",    //the url fragment that will be displayed for the test.html page
            transition: "slide"  //if not specified used the default one or the one defined in the default settings
        });
    });
});
票数 4
EN

Stack Overflow用户

发布于 2012-06-07 23:35:41

document对象没有location属性,而window对象有。参考:document object

票数 0
EN

Stack Overflow用户

发布于 2012-06-07 23:36:52

这很可能是因为当跟随链接启用页面转换时,jQuery Mobile会使用preventDefault()方法。由于您使用的是onclick,因此这不是元素的默认操作,而是click事件的绑定。

从本质上讲,浏览器在jQuery有机会拦截它并生成动画之前就被重定向了。

正如@Th0mdike所说,你可以从两个选项中得到完全相同的结果,并且考虑到你可以用$('a').attr('href', 'new.html')动态地改变锚的href属性,我看不出做后者有什么好处……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10910261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档