我一直试图解决这个问题:我想传递一个函数参数来选择一个div,这样我就可以用一个间隔来改变style.top的位置。
var yPos = 0;
var divOne = document.getElementById("div1");
var divTwo = document.getElementById("div2");
var divThree = document.getElementById("div3");
.....
function jump(which){
yPos++;
(which).style.top = yPos + "px";
var jumpTimeOut = setTimeout(jump,100,which);
if(yPos > 500){
clearTimeout(jumpTimeOut);
}
}
jump("divOne");
我可以为每个div变量使用switch语句,但是程序中有很多div,所以我想知道是否有一种方法可以将div名称与函数参数连接起来。有人说我得到的不能用当前代码改变NULL的属性样式。
感谢任何帮助
---->>我找到了一个解决方案,我传递了div名称字符串" div1"作为函数内部的参数,所以我可以使用内部变量再次获取div:
var divOne = document.getElementById("div1");
var divTwo = document.getElementById("div2");
function jump(which){
var jumpingDiv = document.getElementById(which);
yPos++;
jumpingDiv.style.top = yPos + "px";
var jumpTimeOut = setTimeout(jump,100,which);
if(yPos > 500){
clearTimeout(jumpTimeOut);
}
}
jump("div1");
我认为奇怪的解决方案,但它的工作如此......呵呵。