最新回答 / qyy2499760117_叶子
使用谷歌浏览器,按F12进行调试就只知道错在哪里,习惯用很容易找错的,我稍微调试一下就可以看出这句‘if(alpha>iTarget) ’里的iTarget还没有定义,所以它找不到就会出错了,在这句‘oDiv.onmouseout=function(){startMove(30);}’里的startMove(30),是有参数的,所以你写startMove()函数时也应传一个参数,要对应的,所以改成function startMove(iTarget)就好了;
2016-06-06
最赞回答 / 临风独舞翩跹
oImg[i].onmouseover = function () { var _this = this; startMove(_this, 'opacity', 100, function () { startMove(_this, 'height', 150, function () { startMove(_this, 'width', 250); }); ...
2016-06-06
最新回答 / rouken
var a=document.getElementsByTagName("div");是不是取错标签了,应该是var a=document.getElementsByTagName("a");吧
2016-06-05
最新回答 / TOTO晶
var flag=true; 及for(var attr in json) 应该放在定时器n内, json的for循环之前if(flag){清除定时器和fn回调}应该放在定时器n内, json的for循环之后具体解释可以参考<JS动画效果课程 6-2小节>的评论区讨论,希望能帮到你更改后的参考code如下(未贴上来的其他code不变):<...code...>
2016-05-30
最新回答 / 慕粉3498277
虽然有点久了,不过最近正好刚弄懂了这个问题,希望能对你有帮助!这里要提到offsetLeft与style.left的一点区别。style.left是读写的,offsetLeft是只读的,所以要改变div的位置,只能修改style.left。(1)确实是只有设置为行间样式的style属性才能被获取(读),但这里我们用到的是style的‘写’,所以不矛盾。(2)你可以试一下,把上面的if(Obj.offsetLeft==0)改为if(Obj.style.left==0),会发现没有任何效果,就是因为这里要用到...
2016-05-30
最赞回答 / weibo_慕丝7400593
在startMove函数执行时,启动清除所有的定时器.function startMove(){ clearInterval(timer);...}
2016-05-29
最赞回答 / 慕粉3244739
当前a标签下的第一个i标签,因为getElementsByTagName获取的为一个数组,按照这个例子就是获取到一个只有一个i标签的数组,要想获取到这个数组中的i标签就要加[0]才能获取
2016-05-26
最新回答 / 小西瓜籽
当(itarget-odiv.offsetLeft)/20=10/20=0.5PX时,oDiv.style.left = oDiv.offsetLeft+speed+'px';=190+0.5=190.5px,像素出现了小数程序无法执行下去。然后 把speed=0.5向上取整为1,在进行一次else中的代码 ,结束
2016-05-26