【问题标题】:Jquerymobile mobile.Changepage transition: someVariableJquerymobile mobile.Changepage 转换:someVariable
【发布时间】:2012-09-11 14:37:35
【问题描述】:

我有一个 jquerymobile 代码,用于使用滑动功能更改页面。我的 mobile.changePage 看起来像这样:

$.mobile.changePage("#page"+window.now, {transition: "幻灯片"}, false, true);

我也在使用 localStorage 来存储设置。我已将它们加载到变量 transitionSettings:

函数加载设置(){ var transitionSettings = window.localStorage.getItem("transitionsSettings");}

transitionsSettings 变量可以是“slide”或“none”。

我想将此字符串插入到我的 mobile.changePage 中,以便它加载设置并设置正确的过渡。

我尝试了 {transition: transitionSettings}{transition: +transitionSettings},但没有成功。但是,我的 loadSettings() 函数位于一个名为 settings.js.js 文件和我的 mobile.changePage()slide.js 中,它们都被导入到 index.html

我认为 slide.js 应该可以毫无问题地访问 settings.js 变量。但这不起作用,整个滑动功能都被破坏了。

关于如何将设置变量导入过渡有什么建议吗?

【问题讨论】:

    标签: javascript jquery jquery-mobile swipe


    【解决方案1】:

    您只需要将 transitionSettings 变量存储在可以在代码中的任何位置访问的全局变量中,您可以通过将任何 var 附加到窗口对象来实现 global var in javascript,因此在您的示例中,您可以更改 loadSettings( ) 函数:

    function loadSettings(){ var window.transitionSettings = window.localStorage.getItem("transitionsSettings");}
    

    并像这样在 slide.js 中使用它:

    $.mobile.changePage("#page"+window.now, {transition: window.transitionSettings}, false, true);
    

    应该没问题..

    您也可以直接从 slide.js 中获取设置,如下所示:

    $.mobile.changePage("#page"+window.now, {transition: window.localStorage.getItem("transitionsSettings")}, false, true);
    

    这也应该可以正常工作..

    【讨论】:

    • 非常感谢。我已经使用了您的最后一个建议,并且效果很好。没有测试过第一个建议,但我认为它也可以。
    猜你喜欢
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多