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

JS动画效果

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

最新回答 / qq_无情胜有情_0
大哥,你这是class="block",是类选择器啊,只能用document.getElementsByClassName("block")[0]来获取啊,还要看浏览器是否支持getElementsByClassName方法,不支持的话可以创建该方法

最新回答 / Number_1
id="div1"  没有加引号

最赞回答 / 纸丶两面白
视频中flag的声明位置应该是写错了,实际上应该是写在定时器内。视频中为什么动画会停止?完全是因为speed归0了,动画停止了,但实际上定时器并没有停止,还在继续运行。

最赞回答 / 纸丶两面白
视频中flag的声明位置应该是写错了,实际上应该是写在定时器内。视频中为什么动画会停止?完全是因为speed归0了,动画停止了,但实际上定时器并没有停止,还在继续运行。

最新回答 / qq_零_137
else {        icur = Math.round(parseFloat(getStyle(obj, attr)));      }这句错了,应该是else {icur = parseInt(getStyle(obj, attr)); //整数型}

最新回答 / qq_long妹_0
原因是style.width仅能返回以style方式定义的内部样式表的width属性值,故第24行代码需修改为<div id="div1" style="width: 200px"></div>,再把原先的width样式删除即可。

最赞回答 / hellf
跟css中的{margin:0;padding:0;} 没有关系,你的代码中,判断offsetLeft 的条件改为: if(odiv.offsetLeft>=0)  它就停下来了 ,因为在不断移动的过程中,不一定有0这个值还有一个问题,进入startMove()时, 需要先清除一下定时器,目的是保证同时只有一个定时器在运行,你的代码还给你,就改了两个地方:<!DOCTYPE html><html><head><title>动画</title>...

最新回答 / 慕丝2053625
你好,我也遇到了这个问题。正如老师所讲的那样,一定是有属性在到达自己的位置的时候,立刻触发了清除定时器,导致其他的属性虽然还没有到达target,就被终止了运行。当你再次用鼠标指向的时候,定时器只会被触发一次,for循环一遍,就遇到opacity属性已经变成1,因此目标宽度只被遍历1次,增长1,所以需要移入移出4次,这个情况将会在你把目标宽度修改成201时相当明显。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消