为什么我的Div不会移动?

时间:2015-08-25 19:30:38

标签: javascript html move

我试图让这个胖子div移动一些,但它不会!救命!

<script>

do {
	setTimeout(fly(), 10)
		function fly() {
			var i = 0;
   			var left = parseInt(document.getElementById("dick").style.left);
			var top = parseInt(document.getElementById("dick").style.top);
			left++;
			top++;
			document.getElementById("dick").style.left = left + "px";
			document.getElementById("dick").style.top = top + "px"; 
	}	
}

while (i = 0);
</script>
<div id="dick" style="position:absolute; top:100px; left:100px; width:100px; height:100px; background-color:#000000;"></div>

3 个答案:

答案 0 :(得分:3)

您应该使用 setInterval 而不是 setTimeout 。你也应该给你的函数 setInterval ,而不是给它调用它的结果。

import csv

with open('nora.csv', mode='r') as CSVFile:

   read = csv.reader(CSVFile, delimiter =",")
   print(read)

   CSVFile.close()

检查此plunkr http://plnkr.co/edit/L3cid26ybpFYITfjUbmP?p=preview

答案 1 :(得分:1)

因为代码充满了逻辑错误。

&#13;
&#13;
setInterval(fly, 100);

function fly() {
    var i = 0,
        el = document.getElementById("dick"),
        left = parseInt(el.style.left),
        top = parseInt(el.style.top);

	el.style.left = ++left + "px";
	el.style.top = ++top + "px"; 
}
&#13;
<div id="dick" style="position:absolute; top:100px; left:100px; width:100px; height:100px; background-color:#000000;"></div>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

现在的样子,你应该在控制台中看到这个:

Uncaught TypeError: Cannot read property 'style' of null

首先,在您的脚本后移动<body>标记;

然后,尝试编写类似这样的代码:

function fly() {
        var left = parseInt(document.getElementById("dick").style.left);
        var top = parseInt(document.getElementById("dick").style.top);
        left++;
        top++;
        document.getElementById("dick").style.left = left + "px";
        document.getElementById("dick").style.top = top + "px";
        //nsole.log(left+" and "+top);
    }

    var T_TIME = 200; // ms
    var intHandler = window.setInterval("fly()", T_TIME);

最好使用setInverval()而不是带循环的setTimeout。

相关问题