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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
offsetHeight = clientHeight + 滚动条 + 边框。
function getStyle(obj,attr){ return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr] };
JS动画效果由移动目标的left,top,right,bottom来实现。涉及到的知识点:offsetleft,setInterval(),clearInterval(),doucment.getElementById().
鼠标事件最好使用onmouseenter,用onmouseover会有一个bug,就是鼠标经过a标签触发动作后,鼠标滑到另一个a标签时,上一个a标签又会被触发一次动作。
IE7,8鼠标移出的时候有问题,透明度没变化
真是看了还想看
期待更多的课
Vivian 棒呆,
老师的flag定义在定时器外,这样那个链式动画就会有bug了
老师讲得很好,就是不明白为什么不用clientWidth?难道是有兼容性问题么?我看了IE跟谷歌都是正常的呢
0.5倍数有惊喜

已采纳回答 / qq_云上_0
var speed=(iTarget-mybox.offsetLeft)/20;这里的速度值表示,当你的目标值大于当前的宽度,speed大于0表示你向右走,要“+“正speed加一个宽度.如果speed小于0,你要向左走,你的宽度需要越来越小,所以speed需要"-"只有向下取整。不知道有没有描述清楚。

已采纳回答 / 飞舞的墨
如果(目标值-当前值)/10  不能整除的话。运动到最后,是1~9之间的数字来除以10,结果是个小于1的小数,如果向下取整,那就是0,speed=0,意味着不再发生变化。也就是说,如果用Math.floor(speed),最后不到10个像素的时候,就不会动了。
不发源码是对的,就是要自己敲出来才能学到位

已采纳回答 / 飞舞的墨
这两次定义的odiv的作用域都是在各自的函数体内。也就是startMove()是获取不到onload的匿名函数中定义的odiv.如果你想只定义一次,那就将odiv定义成全局变量,这个页面的任何函数都可以直接获取的到。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消