2012-11-19 7 views
0

필자는 매우 간단한 PhoneGap 프로젝트를 가지고 있으며 일부 메시징 요소는 필요에 따라 켜고 끕니다. 이 프로젝트에서 jQuery를 사용하고 있습니다. 문제는 jQuery를 사용하여 div 표시/숨기기 여부와 관계없이 발생합니다.Phonegap - 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를 표시합니다.

div가 다시 나타나지 않는 경우를 제외하면 매우 간단합니다. div가 숨겨지면 숨겨진 상태로 유지됩니다. JavaScript 오류가 발생하지 않으며, document.getElementById("waiting").style.display = 'block';을 사용하여 구식 방법을 표시하거나 숨기더라도 동일한 문제가 발생합니다. console.log() 문을 사용하여 show()이 확실히 호출되고 있음을 확인했습니다.

그래서 나는 어떻게/왜 이런 일이 벌어지고 있는지를 놓치고 있습니다. 과거에 비슷한 문제가 발생한 사람이 있습니까? 해결책은 무엇입니까?

+0

브라우저에서 ur 앱을 실행하려 했습니까? u 같은 문제가 발생 했습니까? show,'alert ($ ("waiting") .html());' – Dilberted

+0

전화 후에 webview에 문제가 생겼습니다. 하드웨어 가속을 트리거하는 'transform3d'와 같은 속성을 사용하면 페이지의 시각적 렌더링이 DOM 상태와 일치하지 않습니다. 여기서 무슨 일이 일어 났는지는 모르겠지만 실제로 문제가되는지 여부는 문제의 DOM 요소의 스타일 객체를 실제로 기록하고 객체가 실제로 표시되는지 확인한 다음 리플 로우/어떻게 든 다시 칠해. –

+0

위의 ur 예제를 사용하려고했는데 정상적으로 작동하는 것 같습니다. (div를 보여주기 위해) 기다리는 이벤트가 div 앞에 도착하지 않는다면 실제로 숨겨져 있습니다. 코드 또는 전체 파일을 좀 더 사용할 수 있습니까? – Dilberted

답변

1

문제점 (종류)을 발견했습니다. 분명히 jQuery는 페이지에서 사용되는 다른 스크립트와 충돌합니다. 어느 것이 충돌인지, 충돌이 어떻게 작용하여 멈추게했는지 모르겠지만 HTML에서 <script> 태그의 순서를 변경하면 문제가 해결됩니다.

관련 문제