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

JS动画效果

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

最新回答 / qq_coo_1
if 。。。else 条件判断,如果条件成立,执行if后边的语句,如果不成立,执行else后边的语句当移动到指定位置时条件成立停止定时器,即if后边的语句,没有到指定位置时则继续移动,即else后边的语句
敢不敢不卡?一分钟卡了10次也是醉了

最新回答 / xp224848
原来定时器那儿少写了一个obj.
speed换成step好点吧

+ 我来回答 回答最高可+2积分
感觉有个小问题:
if (icur != json[attr]) {
flag = false;
obj.style[attr] = icur + speed + "px";
}

应该把物体移动的code挪到判断是不是相等的if 区域里,而不是在外面。
因为只有当不等于目标的时候才继续移动物体。
如果放到if区域外面,则不管是不是相等,都会移动物体。这样即使最后相等了,还是会运行一下
obj.style[attr] = icur + speed + "px";
这个code

最新回答 / _孤单的伞
单物体运动定时器只要定义一个,写在全局即可。多物体运动需要给每个物体定义一个定时器,timer需要定义在函数内部,为每一个变量都设置timer属性。

已采纳回答 / qq_Lollipop_1
getElementsByTagName得到的就是一个数组,可以直接遍历使用吖,如果div很多,你最好通过id或者class来获取

最新回答 / 心很空_天很蓝
从你以上的代码来看,timer=setInterval(function(){   if(oDiv.offsetLeft<-200)                                    //如果oDiv的left<200   {clearInterval(timer);}                                        //清除定时器timer   else{   oDiv.style.left=oDiv.offsetLeft-1+'px';  ...
求源码!求源码!
@外号理论汪 你好,能发一份到我邮箱吗412830669@qq.com 谢谢
回复 @一起生个孩子: document.getElementsByClassName会有兼容性问题, 而且用getElementsByTagName性能更好- -,
讲得很棒,! 不过移动端最好不要用这个,用css3的性能要高很多
不不不,那个else很有必要的, 要不就需要在if里边写return
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消