我有一个非常简单的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()
肯定被调用。
所以我对如何/为何如此发生感到茫然。有没有人在过去遇到过类似的问题?解决方案是什么?
答案 0 :(得分:1)
我发现了这个问题(有点)。显然jQuery与页面上使用的其他脚本相冲突。我不确定哪一个,或冲突是什么,或者冲突如何严重导致element.style.display = 'block';
停止工作,但更改HTML中<script>
标记的顺序解决了这个问题。