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

JS动画效果

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

已采纳回答 / 点潇洒3575453
每次鼠标移入移出时先关闭定时器,然后再根据下面的条件决定是否重新开启一个定时器.

最赞回答 / 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时相当明显。

已采纳回答 / Madlen
//以下是老师封装的函数,其余的css代码自己写就好了function startMove(obj,json,fn) { /* obj为要改变的元素对象 json为属性/值对,即要改变的属性和值。用于同步运动 fn为回调函数,用于设置链式运动 ...

最新回答 / 慕梦前来
定时器里的变量要控制好,

最新回答 / 慕粉3074769
当使用绝对定位的时候行内元素会呈现块状元素效果。
position: absolute;
<...code...>

已采纳回答 / Zkan
Li1.onmouseout = function () {stratMove(this, 'opacity', 30);}start拼写错误,其他没看

最新回答 / qq_彩虹_21
要是缓冲运动就不需要flag

最新回答 / 天桥涂鸦
它是round的(float*100)
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消