我有一个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 变量。但这不起作用,整个滑动功能被打破了。
有关如何将设置变量导入转换的任何建议吗?
答案 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);
那应该也可以正常工作..