2012-12-08 4 views
0

div와 div를 처리해야하는이 간단한 JavaScript 코드가 있습니다. 그것은 완벽하게 일하는 것은 완벽하게 일하는 것은 div를 쉽게 슬라이딩시키는 것입니다. 그러나 슬라이드 아웃을 클릭하면 div가 브라우저에서 사라집니다. 나는 이유를 모르며 잘못을 찾지 못한다. 내 코드는 여기자바 스크립트가 슬라이드되지만 밀어 내지 못합니다.

<!DOCTYPE html> 
<html> 
    <head></head> 
    <body> 

     <script> 

      function slideIt() 
      { 
       var stopPosition = 50; 
       var slidingDiv = ""; 
       slidingDiv = document.getElementById("d3"); 
       if (parseInt(slidingDiv.style.left) < stopPosition) 
       { 
        slidingDiv.style.left = parseInt(slidingDiv.style.left) + 2 + "px"; 
        setTimeout(slideIt, 1); 
       } 
      } 

      function slideOut() 
      { 
       var startPosition =-150; 
       var slidingDiv = ""; 
       slidingDiv = document.getElementById("d4"); 
       if (parseInt(slidingDiv.style.left) > startPosition) 
       { 
        slidingDiv.style.left = parseInt(slidingDiv.style.left) - 2 + "px"; 
        setTimeout(slideOut(), 1); 

       } 
      } 



     </script> 
     <div id="d1" onclick="slideIt();">Slide in</div> 
     <div id="d2" onclick="slideOut();">Slide out</div> 
     <div id="d3" style="position: absolute; left:-150px; top:300px" >horizontally sliding div</div> 
     <div id="d4" style="position: absolute; left:150px; top:300px">horizontally sliding div</div> 


    </body> 
</html> 
+1

당신도 자바 스크립트 콘솔을보고 봤어 : 여기

setTimeout(slideOut, 1); 

는 데모입니까? 거기에서 분명해야합니다. –

+0

jsFiddle은 굉장 할 것입니다. – starbeamrainbowlabs

+0

예 .. 코드가 깨끗합니다. 오류 없음. – sammyukavi

답변

1

두 번째 시간 초과에서는 slideOut을 호출 할 필요가 없습니다. 괄호를 제거하십시오. http://jsfiddle.net/cctqf/

+0

감사합니다 ... 작품을 ...하지만 당신을합니까 div가 슬라이드 아웃 한 후 난간 점을 어떻게 제거 할 수 있는지 생각해보십시오. – sammyukavi

관련 문제