为了账号安全,请及时绑定邮箱和手机立即绑定

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰

已采纳回答 / 周龙帆
不知道,我有没有看错;obj.attr 而不是obj, attr; 点和逗号;一个传参数,一个查属性

已采纳回答 / 慕的地1208773
首先,else要放在for循环外面,否则,一旦某一个attr达到目标值,即icur==json[attr]成立,就完成了else的判断.会运行else的代码.其次,设立标杆的目的是为了方便取值,为else里面的代码进行成立与否的判断!!在for循环里面,程序会进行分次判断,有几个attr就会判断几次,只要有一个false,返回值就是false,如果不设立标杆,会出现某次是true,某次是false的结果,无法进行后面的else判断.即只要有一个attr达到目标值,icur==json[attr]的等式就会...

已采纳回答 / 我懒得说什么
startAct(this,"height",100,function(){                        //alert(1);                        startAct(this,"width",400);                    });你这里的对象参数第二个不能为this,第二个this是函数,不是li你可以var _this = this;startAct(_this,"height",100,function(){               ...

已采纳回答 / 周龙帆
同位学习爱好者!共勉div:hover在ie6的时候除了<a>可以显示,其他都要做兼容。具体http://www.dreamdu.com/css/pseudo-class_hover/ IE6差不多淘汰了,不要去理他;且js才是前端的主战场,多写代码没错!

已采纳回答 / 慕斯卡9731973
把i在调用之前定义,即把var i=null; 放在函数之前,作为全局变量。       startMove(-10,-200);}}var i=null;function startMove(speed,mytarget){

已采纳回答 / 从此浪迹天涯了无牵挂
 在你的代码第43行},30)后面加上两个右大括号。}}你看一下,你的括号两个都缺一块,没有闭合

已采纳回答 / moonie
<...code...>你这段有问题吧,mouseover 的时候 obj.alpha 的值为 30 iTarget的值为 100 , speed 取 -5 ,这样的话岂不是透明度一直在减小直到最后消失变为负值

已采纳回答 / mingttong
倒数第5行的obj.offsetWidth=obj.offsetWidth+speed+'px'; 改为 obj.style.width=obj.offsetWidth+speed+'px';就可以了。一开始我也搞不懂为什么,百度了一下,说是obj.offsetWidth是数值,而obj.style.width是字符串,所以在用obj.offsetWidth+speed+'px'改变宽度时应该赋值给obj.style.width.

已采纳回答 / 小爬虫8036
timer=setInterval();这里返回值给timer,这里clearInterval(timer)取消调用,总之你得定义一个timer吧,让它等于null只是给一个默认值,你直接定义var timer;也是可以的。

已采纳回答 / 风随依然
首先,尽量不要用onmousemove去实验,而是用onmouseover.其次,odiv1.offsetLef ==0      其中,offsetLef 书写错误,应为offsetLeft.最后,解决方案,在css部分加上body{margin: 0; padding: 0;}    可使计时器生效。

已采纳回答 / 从此浪迹天涯了无牵挂
你试一下把move.js里面的var flag = true;挪动到定时器里面。因为链式调用,如果调用结束第一个, if(icur !== json[attr]){ flag=false; } if(attr=='opacity'){ obj.style.filter='alpha(opacity:'+(icur+speed)+')'; obj.style.opacity = (icur+speed)/100; } else{ obj.style[att...

已采纳回答 / 風雨纏溪
parseInt是获取整数,而后面的oDiv.style.width是获取的在body下面标签里的格式,之前用oDiv.offsetLeft是直接获取style里的值,但是在style里如果给oDiv加上了边框,那么offsetLeft就不能准确获取left的值了,而是获取left+边框的值,这里的oDiv.style.width不会有这个问题,但是还是很麻烦,因此后来又封装了一个函数,也就是getStyle()函数function getStyle(obj,attr){ if(obj.currentSt...

已采纳回答 / 路漫漫兮2015
当(itarget-odiv.offsetLeft)/20=10/20=0.5PX时,oDiv.style.left = oDiv.offsetLeft+speed+'px';=190+0.5=190.5px,像素出现了小数程序无法执行下去。

已采纳回答 / sunfloweryll
定时器的函数写错了,<...图片...>
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消