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

JS动画效果

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

已采纳回答 / Encoretune
alpha=alpha+speed

已采纳回答 / 我学C语言
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-...

已采纳回答 / Lady严
if (attr = 'opacity')改为if (attr == 'opacity')=是赋值 你把opacity赋值给了attr属性,所以不管你设置什么属性,都是opacity透明度在改变

已采纳回答 / 喝牛奶对身体好
经过本人多次测试,确认flag放在计时器内,for in循环前为好,之后将判断条件if(flag)放在for in外计时器内,完美框架就能实现了,否则都会有一些BUG。最后按照你这个,我进行了四种尝试,效果如下:把flag=true和判断if(flag)都放在for循环里面:此时由于计时器内for循环每次开始flag为true,由于属性值为两个以上的时候有时不会同时到达目标值,会使得当某一个属性属性达到目标值后flag值已经为true,因此提前结束了定时器;把flag=true放在计时器内for循环外,判...

已采纳回答 / 雪神仙
1.obj.style.width = icur + speed + 'px';//这里只能获取宽度属性改成:obj.style[attr]=icur + speed + 'px';

已采纳回答 / 慕仰6432972
首先你的   function startMove(obj,iTarget){      clearInterval(timer);      timer=(function(){         var speed=(iTarget-obj.offsetWidth)/8;         speed=speed>0?Math.ceil(speed):Math.floor(speed);         if(obj.offsetWidth==iTarget){            clearIn...

已采纳回答 / tOofu
offsetwidth写错了,应该是offsetWidth; if(speed=speed>0){   //这里不太懂为什么要赋值,我改成了(speed>0)     Math.ceil(speed)   //这里要赋值,不然计算了也没有用到。改成speed=Math.ceil(speed);}else{     Math.floor(speed);   //改成speed=Math.floor(speed);} if(obj.offsetwidth=iTarget){    //这里应该是o...

已采纳回答 / 默小灰
var flag=true;这个要在for循环里面;在下面再定义一个变量var iCur = 0;  你的这个还没定义;你的 if(fn){            fn();        }这个要在if(flag){}这个判断里面

已采纳回答 / 酒足饭饱勾二嫂
应该是她自己写的吧,这门课程没有源码,真心不爽。但自己做布局也算练手了,但jquery这块内容就没办法了,看不见源码,等后面学了jquery在考虑重新自己弄吧

已采纳回答 / beibeier
alpha是用来设置透明度的,这是给oDiv[i]设置一个属性,oDiv是声明过的。var timer=null  就是在声明啊,声明的同时初始化

已采纳回答 / 乃尧
动画结束条件判断有问题。修改代码如下:&ad&!DOCTYPE html&a c&arshtml&TF-&"&ghead& &l    &>meta charset="UTF-8"&t;s    &pe=title&css&>/title&  b    &li{style type="text/css"&           body,ul,li{            margin: 0; ...

已采纳回答 / 慕勒5228944
1.删除 37行else if(alpha<iTarget)的 if(alpha<iTarget)2.在26行加一个}

已采纳回答 / Collus
先明确两个概念:obj.offsetWidth是盒子模型中盒子的宽度(content+2*padding+2*border)。obj.style.width只是content的宽度(即写在CSS样式中的width的值)。假设padding=0,如果设置了宽度为1px的border,那么obj.offsetWidth的值就是content的宽+2px,obj.offsetWidth-1的值就是content的宽+1px.因此会变长。而obj.style.width-1,的值就是content长度减1,所以越...

已采纳回答 / 慕九州3376284
第一个判断后得到的结果是speed,而第二个是判断alpha和目标是否相等
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消