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

JS动画效果

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

已采纳回答 / 兰小尔
var speed=(yes-obj.icce)/8;改成var speed=(yes-icce)/8

最赞回答 / 彭若飞
自己搞明白了!!d.style.width=200px 这样的写法中,d.style.width返回的字符串中有px,只能用来被赋值不能用来获取值,而d.offsetWidth和d.clientWidth返回的字符串中么有px可以用parseInt()包起来转换成整数!!!!!!!!!!

已采纳回答 / 彭若飞
(iTarget-obj.offsetWidth)这个里面 obj.offsetWidth实在不断变化的,iTarget不变,他们两的差会由大到小,除以8的商也会由大到小,这就让speed速度有个递减。

最新回答 / 风_起
再补充一点:后面的element.alpha可以换成styleValue,并且isOpactiy也不需要了。(代码忘记更新了)

已采纳回答 / 慕粉3146726
function getStyle(obj.attr),参数是逗号亲,看清楚!

已采纳回答 / csusun
var i = true;这句话放在定时器里面 for循环前面 。因为flag如果定义在定期器外,flag只执行了一遍,当循环了一次后,flag变成了false就不会再改变了。 flag一直都是false,就无法关闭定时器和执行下一个函数了。

已采纳回答 / 285
可以的,只要放在setInterval里就可以

最新回答 / 孖亽睂
function startMove(obj,json,fn){    clearInterval(obj.timer);    obj.timer = setInterval(function(){        for (var attr in  json){            //1.取当前的值            var icur = 0;            var flag = true;//假设所有的运动都到达目标值            if(attr == "opacity"){...

最赞回答 / 李羊羊
<...code...>var flag = true;  这句放在setInterval里面,评论里面都在说这个

已采纳回答 / 周龙帆
不知道,我有没有看错;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(){               ...
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消