js中变量问题

speed_feng 2011-11-18 07:37:15
var i = 0.1;
function moveDown(element,dis)
{
if(i<=dis)
{
var getBox = document.getElementById(element);
getBox.style.top = i+"0px";
i++;
setTimeout(function helpMoveDown(){
moveDown(element,dis)},5);
}
else
{
i=0.1;
}
}


这个函数可以数先元素element的移动 但是 变量i是全局变量 这使的在同一时间同时使用两个这个函数的时候 会出现问题 如何做到更好的封装! 想静态变量的使用Js又好像找不到...
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangws 2011-11-19
  • 打赏
  • 举报
回复
以参数的形式传传进方法里就可以了

function moveDown(element, dis, i) {
i = i ? i : 0.1;
if(i <= dis) {
var getBox = document.getElementById(element);
getBox.style.top = i + "0px";
i++;
setTimeout(function(){
moveDown(element, dis, i)
}, 5);
}
}
dencey 2011-11-18
  • 打赏
  • 举报
回复
你说的是什么问题,问题在哪
p2227 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 whowhen21 的回复:]

声明在方法内部吧~-------- 每天回帖即可得10分可用分!
[/Quote]但是那样就实现不了元素移动
whowhen21 2011-11-18
  • 打赏
  • 举报
回复
声明在方法内部吧~

87,922

社区成员

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

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