已采纳回答 / 慕之光
我试过把var flag = true; 放置到for in 上方和放在function start(obj,json,fn)这个函数的局部内都是可行的。两者的区别是:前者是在setInterval( ,30)内,所以相当于每30ml对flag 赋一次 true; 后者的var flag = true; 相当于是“全局变量”,在setInterval( ,30)内当然可以使用flag,更可以改变flag.
2016-05-13
已采纳回答 / 泠泉石上
变量定义位置错了,应该在计时器里边定义obj.timer=setInterval(function(){ var speed,a=parseInt(getStyle(obj,'width')); speed=(wid-a)/10; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(a==wid) clearInterval(obj.timer); else obj.style.width...
2016-05-12
已采纳回答 / 权哲
if(boss.style.opacity==itarget)clearInterval(timer); 这块没能清除 计时器,boss.style.opacity 他算出的是浮点数就是0.3不可能等于itarget30。把他换成alpha 就好了。
2016-05-12
已采纳回答 / 慕之光
事实上对于javascript这样的弱类型语言,使用var和不使用var都可以定义一个变量,在函数内使用var定义的变量是一个局部变量,不使用var定义的变量是一个全局变量,而obj.timer = setInterval这种方式算不上定义,这里obj已经是一个对象了,obj.timer代表为这个对象创建一个属性,然后才能使用这个属性,我们可以为它创建很多属性,根据需要来。ps:大多时候我们想自定义一个对象,可以这样写:var myobj1 = Object();然后为你的对象添加属性,如myobj.nu...
2016-05-11
已采纳回答 / mirrorofsky
1.var chgOpacity=document.getElementById('chgOpacity');oShareSide.onmouseover = function (){ //oShareSide.onmouseover 改为chgOpacity.onmouseover 2.oShareSide //这个变量没有声明过,所以oShareSide.onmouseover为null。
2016-05-11
已采纳回答 / 漫步人生路他爸爸
<...code...> 我把你的obj.alpha += speed;改成了obj.alpha = Math.round((obj.alpha + speed)*10)/10;就可以了具体为什么会出错是因为计算机成生小数的过程有可能有点偏差,你要拿3也许它给的是3.000000...004所以我们四舍五入一下就好了<...图片...>
2016-05-08
已采纳回答 / 慕粉3317258
如果是border等未定义的属性,它获取到的是(0px none rgb(0,0,0))你说的这个top,left如果未定义获取到的是auto所以应该是获取不到你想要的值 0
2016-05-08
已采纳回答 / 旭日A
var box = document.getElementById("box"); box.style.filter="alpha(opacity:"+alpha+");"; box.style.opacity=alpha/100;这最后三行代码要放在计时器setInterval的函数内啊
2016-05-06