求助JavaScript问题

MaggieSuree 2015-03-11 11:17:50
代码如下,鼠标进入元素后moveTo函数只调用了一次, setTimeout(repeat,interval);没有起作用



function toolListMove(obj,id) {
var setClass=document.getElementById(id);
setClass.className= setClass.className +" toollist-move";

obj.onmouseleave = function(){
setClass.className= "justforposition";
}

}
function moveTo(obj,fin_x,interval){
var divs=obj.getElementsByTagName("div");
divs[0].style.display="block";

var posx=parseInt(divs[0].style.right);
var opc=parseFloat(divs[0].style.opacity);
if(posx<fin_x){
posx=posx+3;
}
if(posx>fin_x){
posx=posx-3;
}
if(opc<1){
opc=opc+0.1;
}
divs[0].style.right=posx+"px";
divs[0].style.opacity=opc;
var repeat="moveTo("+obj+","+fin_x+","+interval+")";
setTimeout(repeat,interval);
}
function cont(){
var t1 = document.getElementById("toollistmove1");
var t2 = document.getElementById("toollistmove2");
var t3 = document.getElementById("toollistmove3");
var t4 = document.getElementById("toollistmove4");
var t5 = document.getElementById("toollistmove5");
var t6 = document.getElementById("toollistmove6");

t1.onmouseenter=function(){
toolListMove(this, t1.id);
moveTo(this,40,100);
};
t2.onmouseenter=function(){
toolListMove(this, t2.id);
moveTo(this,40,100);
};

t3.onmouseenter=function(){
toolListMove(this, t3.id);
moveTo(this,40,100);
};
t4.onmouseenter=function(){
toolListMove(this, t4.id);
moveTo(this,40,100);
};
t5.onmouseenter=function(){
toolListMove(this, t5.id);
moveTo(this,40,100);
};
t6.onmouseenter=function(){
toolListMove(this, t6.id);
moveTo(this,40,100);
};

}

window.onload=cont;
...全文
96 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2015-03-11
  • 打赏
  • 举报
回复
var repeat="moveTo("+obj+","+fin_x+","+interval+")";
setTimeout(repeat,interval);

明显你这里就错了,obj对象经过字符串连接操作会调用默认toString方法转为的字符串,一般是[object...]这种形式的,给setTimeout执行这种代码肯定错了

改成匿名函数的形式
 //var repeat="moveTo("+obj+","+fin_x+","+interval+")";
setTimeout(function(){
moveTo(obj,fin_x,interval);
},interval);

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧