2009-11-09 57 views
0

你能告訴我爲什麼這個JavaScript不起作用。爲什麼javascript onclick div滑動不起作用?

function expand() 
{ 
    var slidingDiv = document.getElementById("expandDiv"); 
    var startPosition = 350; 
    var stopPosition = -150; 
    if ((parseInt(slidingDiv.style.top) > stopPosition)&&(parseInt(slidingDiv.style.top) < startPosition)) 
    { 
     slidingDiv.style.top = parseInt(slidingDiv.style.top) + 5 + "px"; 
     setTimeout(expand, 5); 
    } 
} 

....... 
<a onclick="expand();">Expand</a> 
<div id="expandDiv" style="width:300;height:100;background-color:#fff;position:absolute;border:1px solid #ccc;">hello<br />great testing</div> 
+2

說明「不工作」。 – Tomalak 2009-11-09 16:47:36

+0

意味着它不擴展div – user153887 2009-11-09 17:08:07

回答

3
function expand() 
{ 
    var slidingDiv = document.getElementById("expandDiv"); 
    var startPosition = 350; 
    var stopPosition = -150; 
    var value = parseInt(slidingDiv.style.top.replace("px", "")); 
    if (value > stopPosition && value < startPosition) 
    { 
     slidingDiv.style.top = (value + 5).toString() + "px"; 
     setTimeout(expand, 5); 
    } 
} 

或者,使用jQuery做到這一點。

function expand() 
{ 
    $("#expandDiv").slideDown(2000, function() { 
     // Afterwards 
    }); 
} 
+0

的(style.top)謝謝你的方法正在工作:) – user153887 2009-11-09 17:12:33

+0

不要忘記創建一個帳戶。你更可能得到答案。 – ChaosPandion 2009-11-09 17:33:36

+0

jQuery實用性的絕佳案例。 – Travis 2009-11-09 18:23:18