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

JS动画效果

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

最新回答 / qyy2499760117_叶子
使用谷歌浏览器,按F12进行调试就只知道错在哪里,习惯用很容易找错的,我稍微调试一下就可以看出这句‘if(alpha>iTarget) ’里的iTarget还没有定义,所以它找不到就会出错了,在这句‘oDiv.onmouseout=function(){startMove(30);}’里的startMove(30),是有参数的,所以你写startMove()函数时也应传一个参数,要对应的,所以改成function startMove(iTarget)就好了;
代码啊啊啊啊啊啊
看到很多人说把 flag放到定时器下面,其实也不是最完美的,因为定时器每30毫秒运行一次,就意味着不停重复的声明一个flag,在代码里,有一段判断 原来的值不等于目标值 if (icur != json[xx]) {,就把flag设为flase,然后应该在补上一段,else 如果等于就把flag设为true,就可以了,这样,第一个值达到目标,flag被改为了true,for循环第二个值时,如果未达标,依然会再次把flag设为flase

最赞回答 / 临风独舞翩跹
oImg[i].onmouseover = function () {            var _this = this;            startMove(_this, 'opacity', 100, function () {                startMove(_this, 'height', 150, function () {                    startMove(_this, 'width', 250);                });  ...
似乎代码在Chrome和IE不起作用啊
要源码的为什么不看仔细一点呢
老师的json运用的时候其实少加了一句话,也就是在判断完icur与目标值不等过后还要加个else,里面是将flag赋值为true,不然的话,for循环体外的检测停止那块运行不到,也就是表面上看上去很正常,实际上程序不能实现链式运动了。老师只是不小心忘记加这句话了,我刚刚测试程序的时候发现有问题,和大家分享一下下

最新回答 / rouken
var a=document.getElementsByTagName("div");是不是取错标签了,应该是var a=document.getElementsByTagName("a");吧
老师讲的真好,声音挺好听的,而且讲的特别仔细,想必老师一定很有气质,下次老师的视频出来我还会看的

最新回答 / 陈国栋0
if else 语句错了,else后面没加花括号.
speed的正负判断要是放在定时器外面的话,你快速移进移出的话,就会变成白色,所以还是要在定时器里面判断。
把第二个参数改成数组不行么 然后遍历

已采纳回答 / s_nn
会出现alpha>target的情况 —— 假如当前的值是100,但是你的目标值是30,不就是触发过了onmouseover事件了吗?要执行图形“缩回”了,即从右向左,速度不就是负值了吗?我这样说明白吗?
offsetHeight = clientHeight + 滚动条 + 边框。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消