0

非常に単純なPhoneGapプロジェクトがあり、必要に応じてオンとオフを切り替えるいくつかのメッセージング要素があります。私はこのプロジェクトでjQueryを使用していますが、jQueryを使用してdivを表示/非表示にするかどうかに関係なく、発生する問題が発生します。

とにかく、関連するマークアップは次のようになります。

        <div class="event listening blink" id="waiting" >
            Waiting for Game
        </div>
        <div class="event listening blink" id="error" >
            Something bad happened...
        </div>
        <div id="running">
            <h1>Shake Me!</h1>
            <div id="deviceready">
                <p class="event listening" id="accelerometer">Waiting for accelerometer...</p>
            </div>
        </div>
        <div id="complete">
            <h1 id="finalStatus">Game Over</h1>
            <div id="myRanking">
                <p class="event listening">You came in 100th place.</p>
            </div>
        </div>

...ページが読み込まれると、次のようにこれらのdivをすべて非表示にします。

$("#waiting").hide();
$("#running").hide();
$("#error").hide();
$("#complete").hide();

アプリでさまざまなイベントが発生すると、次のような適切なdivが表示されます。

$("#waiting").show();

divが再表示されないことを除けば、簡単に思えます。divが非表示になると、永久に非表示のままになります。JavaScriptエラーがスローされることはなく、を使用して昔ながらの方法で表示/非表示にしても同じことが起こりdocument.getElementById("waiting").style.display = 'block';ます。私はそれが間違いなく呼ばれている console.log()ことを確認する声明を持っています。show()

だから私はこれがどのように/なぜ起こっているのか途方に暮れています。過去に同様の問題に遭遇した人はいますか?解決策は何でしたか?

4

1 に答える 1

1

私は問題を見つけました(一種の)。どうやらjQueryはページで使用されていた他のスクリプトと競合していたようです。どちらか、競合が何であったか、または競合がどのように深刻でelement.style.display = 'block';動作を停止する可能性があるかはわかりませんが<script>、HTMLのタグの順序を変更すると問題が修正されました。

于 2012-11-19T11:13:28.703 に答える