如果我拿出變量計數器並且只設置document.getElementById("movee").style.top
等於一個數字,它就可以正常工作。將變量計數器和該位代碼結合在一起理論上將得到一個圖像移動。不過由於某種原因,它不工作!設置HTML元素的垂直位置
<html>
<style type="text/css">
#movee
{
position:absolute;
}
</style>
<script type="text/javascript">
function goDown()
{
var counter=1;
while (counter<300)
{
document.getElementById("movee").style.top="counter";
var counter=counter+1;
}
}
</script>
<input type="button" onclick="goDown()" value="Move!">
<img src="test.png" id="movee"></img>
</html>
不是100%肯定的,但是使用setTimeout和curried函數(用於變量範圍)允許運行在函數運行時發生?此外,+1建議其他人已經解決了這個問題的地方(jQuery或CSS轉換,特別是轉換:translate())。 – MushinNoShin 2013-02-23 19:34:49
setTimeout可以工作,但我預見它會導致更多的問題。 – Musa 2013-02-23 19:38:10
的確如此。 OP應儘可能使用jquery或css,並停止嘗試重新發明輪子。 – MushinNoShin 2013-02-23 19:40:46