2011-08-30 5 views
-1

메뉴의 요소를 표시하고 사라지게하려고하지만, i이 특정 수준에서 멈 춥니 다. 이유가 무엇입니까? 당신이 선언하는 경우자바 스크립트 메뉴

<script language="javascript"> 
tre = [1, 0, 0, 0, 0]; 
function tree(e) { 
    elm = document.getElementsByClassName("sub")[e]; 
    if (e == 1) { 
     n = 73; 
    } 
    else if (e == 3 || e == 4) { 
     n = 168; 
    } 
    else { 
     n = 144; 
    } 
    ex = e; 
    if (tre[ex] == 0) { 
     i = 0; 
     tmp1 = setInterval(function() { 
      if (i <= 100 && i >= 0) { 
       elm.style.height = (i/100) * n + "px"; 
       document.getElementById('wait').innerHTML += i + ' '; 
       i++; 
      } else { 
       clearInterval(tmp1); 
       tre[ex] = 1; 
      } 
     }, 2); 
    } 
    else { 
     j = 100; 
     tmp2 = setInterval(function() { 
      if (j >= 0) { 
       elm.style.height = (j/100) * n + "px"; 
       j--; 
      } else { 
        clearInterval(tmp2); 
       tre[ex] = 0; 
      } 
    }, 2); 
    } 
} 
</script> 
<style> 
div {overflow: hidden;} 
</style> 
<span onClick="tree(0);">Toogle 0</span><br /> 
<div class="sub">test 0<br />test 0<br />test 0<br />test 0<br />test 0<br />test 0</div> 
<span onClick="tree(1);">Toogle 1</span><br /> 
<div class="sub">test 1<br />test 1<br />test 1</div> 
<span onClick="tree(2);">Toogle 2</span><br /> 
<div class="sub">test 2<br />test 2<br />test 2<br />test 2<br />test 2<br />test 2</div> 
<span onClick="tree(3);">Toogle 3</span><br /> 
<div class="sub">test 3<br />test 3<br />test 3<br />test 3<br />test 3<br />test 3<br />test 3</div> 
<span onClick="tree(4);">Toogle 4</span><br /> 
<div class="sub">test 4<br />test 4<br />test 4<br />test 4<br />test 4<br />test 4<br />test 4</div> 
+0

"특정 레벨에서 멈춤"이란 무엇을 의미합니까? –

+0

피들 여기, 그것을 원하는 사람을 위해 ... http://jsfiddle.net/DHuU6/ –

+0

"i'는 특정 레벨에서 멈 춥니 다. 정확히 무엇을 의미합니까? –

답변

0

이 논리에 따르면 코드 만 작동합니다 트레 배열 로 트레 = [1, 1, 1, 1, 1]; 코드에서 수행 한 정적 계산 유형을 사용하지 않고 Jqueries를 사용하여 메뉴에 대한 슬라이드 다운 및 슬라이드 업 효과를 쉽게 구현할 수 있습니다.

관련 문제