2013-06-18 6 views
-1

이 스크립트를 작성했습니다. 내 말에 따르면,이 이미지는 경고창이 울린 후 사라져야하지만, 그렇게되지는 않습니다.한 div에서 하나의 div를 표시하고 숨기는 방법

<html> 
    <head> 
    </head> 
    <body> 
     <div id='idDivread' 
      style="position:absolute; 
        z-index:100; 
        width:expression(document.body.offsetWidth +'px'); 
        height:expression(document.body.offsetHeight + 'px'); 
        left:0px; 
        top:0px; 
        display:'none'; 
        text-align:center; 
        background-color:#EEF4FD;filter:alpha(opacity=70)."> 

      <img src='images/Read.gif' 
       style="position:absolute; 
         top:expression(document.body.offsetHeight/2 -36 +'px')"> 
     </div> 
     <div> 
      <input type="button" value="click me" onclick ="change();"> 
     </div> 
     <p id="example"></p> 
    </body> 
<script type ="text/javascript"> 
    function change() 
    { 
     idDivread.style.display=''; 
     setTimeout(function(){ 
      alert("Hello") 
     },3000); 
     idDivread.style.display='none'; 
    } 
</script> 

어떤 도움? 감사.

+0

이 이미지가 전혀 표시되지 않습니다. – abhishek

+1

관련 질문이 아니지만 CSS 표현식을 사용하고 있으므로이 답변을 살펴보아야합니다. http://stackoverflow.com/questions/6191679/css-expressions – MythThrazz

답변

-1

document.getElementById('idDivread').style.display='block'; 
setTimeout(function(){ 
    alert("Hello"); 
    document.getElementById('idDivread').style.display='none'; 
},3000); 
+0

그건 문제가되지 않습니다. 또한''block'' 대신 빈 문자열을 사용하면 디스플레이가 기본값으로 설정되기 때문에 더 좋습니다. – RoToRa

+0

@RoToRa : 디스플레이를 블록으로 사용했기 때문에 downvote해야만 했나요? 나는 당신이 게시 한 답변에서 그 외의 다른 변화를 보지 못했습니다! –

+0

답변을 편집하셨습니다. 투표하고 댓글을 달았을 때 콜백 안에 마지막 줄이 없습니다. – RoToRa

1

스크립트 중지하고 setTimeout이 실행을 기다리지 않습니다보십시오. 이미지의 숨김을 alert과 함께 콜백 함수 setTimeout에 넣어야합니다.

또한 ID와 같은 ID로 요소에 액세스 할 수 없습니다. 당신은 참조를 얻을 수 getElementById를 사용해야합니다 :

var idDivread = document.getElementById('idDivread'); 
idDivread.style.display=''; 
setTimeout(function(){ 
    alert("Hello"); 
    idDivread.style.display='none'; 
},3000); 

[*] 글쎄, 당신이 할 수있는,하지만 당신은 오래된 비표준 브라우저 기능에 의존하고 있기 때문에 당신이해야하지.

편집 : 현재 가장 중요한 것은 Quirks mode에 의존하기 때문에 급히 DOCTYPE을 사용해야합니다. expression은 (이전) IE 전용이며 향후 제공되지 않을 예정입니다. 현재 IE (9 및 10)에서 더 이상 작동하지 않으며 다른 브라우저에서는 작동하지 않습니다.

관련 문제