Jquerymobile mobile.Changepage过渡:someVariable

时间:2012-09-11 14:37:35

标签: javascript jquery jquery-mobile swipe

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

  

$ .mobile.changePage(“#page”+ window.now,{transition:   “slide”},false,true);

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

  

function loadSettings(){       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 变量。但这不起作用,整个滑动功能被打破了。

有关如何将设置变量导入转换的任何建议吗?

1 个答案:

答案 0 :(得分: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);

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

相关问题