已采纳回答 / 慕之光
我试过把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
已采纳回答 / mirrorofsky
var oDiv=document.getElementsByTagName('div'); //声明变量oDIV[];oDIV[i].timer只是向oDiv[i]中添加了一个名字叫timer的属性,不是声明对象。为对象添加属性:var a;(声明一个名字为a的对象),a.myname=Tom; (为对象a添加一个名字为mymane的属性,值为Tom)
2016-05-12
已采纳回答 / 权哲
if(boss.style.opacity==itarget)clearInterval(timer); 这块没能清除 计时器,boss.style.opacity 他算出的是浮点数就是0.3不可能等于itarget30。把他换成alpha 就好了。
2016-05-12
最新回答 / 高手之路
第一行<script>标签去掉 注意h5 <script src=""></script>引入格式第16行在严格模式下是错误的,加上var第21行判断,如果是透明的话,写全了、
2016-05-12
最新回答 / 乐美
这个是move.js的代码 //调用JSON startMove(obj,{attr1:itarget1,attr2:itarget2},fn) //attr1是name itarget1是值 //封装函数 function startMove(obj,json,fn){ //fn是回调函数 var flag = true; // 标志所有运动是否到达目标值 clearInterval(obj.timer); obj.timer=setInterval(function(){ ...
2016-05-11
最赞回答 / joffyzou
<...code...>这里的外层change()可以传this,但是到了里层change()时,this就代表window对象了。可以改成div
2016-05-11
已采纳回答 / 慕之光
事实上对于javascript这样的弱类型语言,使用var和不使用var都可以定义一个变量,在函数内使用var定义的变量是一个局部变量,不使用var定义的变量是一个全局变量,而obj.timer = setInterval这种方式算不上定义,这里obj已经是一个对象了,obj.timer代表为这个对象创建一个属性,然后才能使用这个属性,我们可以为它创建很多属性,根据需要来。ps:大多时候我们想自定义一个对象,可以这样写:var myobj1 = Object();然后为你的对象添加属性,如myobj.nu...
2016-05-11