0

スワイプ機能でページを変更するための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変数に問題なくアクセスできるはずだと思います。しかし、これは機能せず、スワイプ機能全体がこれによって壊れています。

トランジションに設定変数をインポートする方法に関する提案はありますか?

4

1 に答える 1

1

コード内のどこからでもアクセスできるグローバル変数に transitionSettings 変数を格納するだけで済みます。任意の var を window オブジェクトにアタッチすることで JavaScript でグローバル var を実現できるため、この例では 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);

それもうまくいくはずです..

于 2012-09-11T15:23:49.537 に答える