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

JS动画效果

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

已采纳回答 / 丁吉瑞斯
同学,把你的代码中document.getElementById中的id(小写I)全部换成Id(大写I)就ok了哦

最新回答 / 隳裒
坑爹啊 startMove  的O被大些了  

最新回答 / 微蓝lran
if (myDiv.offsetLeft>iTarget) {speed=-10;} else {speed=5;} 你这里设置就不一样啊;而且多出来的8px应该是div自身属性的值,设置div{margin:0;padding:0}即可

最新回答 / hhhs1s1s
全局声明个对象的timer属性,对象是oDiv[i]  ,oDiv[i]也就是this也就是传入的obj

已采纳回答 / 二师弟
<...code...>speed的定义这段代码要放到定时器内部函数里去

已采纳回答 / igual
这个是针对ie对于透明度的处理。正确格式应该是: filter:alpha(opacite=30)。w3c是等于符号,不知道你这个冒号是否正确

最赞回答 / 若忆浅搁
谢谢前面的各位大神。。已解决!!<...图片...>

已采纳回答 / chengyoubin
那么如果width不是固定的,而是作为参数传进来的,那在外面传参数的时候,参数必须是以字符串的方式传,比如 getStyle(oDiv,'width'),这样传到函数里的也是一个字符串,对应的里面如果用点或者[''],就是这样:obj.currentStyle['width'] 或者 obj.style.'width'.这两种写法,显然第二种是错的,只能写成第一种。所以如果样式属性如果是当作参数传进来的,只能以['']的方式来接收。

已采纳回答 / 靖_pacify
     var timer=null;       function startMove(speed,itarget){           //       function startMove(itarget){           clearInterval(timer);           var red=document.getElementById('red');           var timer=setInterval(function(){               //单参数...

最新回答 / 佐刈
外部已经用var定义过了,所以函数内部不需要var了,直接赋值就可以了

最新回答 / 慕哥2935724
function startMove(obj,json,fn){        clearInterval(obj.timer);        obj.timer=setInterval(function(){            var flag=true;        for(var attr in json){                    var icur=0;        if (attr=="opacity") {            icur=Math.round(pars...

已采纳回答 / 丫丫小小笑
不会啊,json代表传入的是一个json数据格式的数据,用json[attr]取数据的时候,会直接取值。startMove(li1,{width:400,height:200,opacity:100},function(){            alert("hele");          });比如你传入的json数据是这样的{width:400,height:200,opacity:100},那么json[attr]就会取到width和height的值。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消