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

JS动画效果

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

最新回答 / weibo_punica___0
第一个else用于区分速度正负,只要达到判断的效果即可alpha==iTarget用于判断是否已经到达目标值,到达即清空计时器,不再运动

已采纳回答 / stone310
首先你这里是没有停止计时器的:<...code...>要写成clearInterval(wuti.dingshiqi),当写成这样后,bug就出现了,不用flag=true,当变化的任何一个属性达到目标值后,运动停止;而不是我们需要的当所有属性达到目标值后,运动才停止
在这里会出现两个BUG 第一个肯定是不能执行回调涵数。只要把flag=true放到那个setInterval定时器里面。才可以判断是否执行完。

第2个就是当鼠标移动的时候会出现多次执行涵数,只要鼠标小小的动一下就会执行动画。只要把onmouseover 改成onmouseenter就可以了。这样两个BUG就都解决了

最新回答 / 慕粉3951534
我们分两个情况,第一个情况是加到 400 的时候,第二个情况是减到 100 。在此之前,我们把下面这句代码转化一下:<...code...>你也知道,当前 wuti.offsetWidth = wuti.style.width + 2,当然这只是说明...
clientWidth是对象看到的宽度(含padding,不含border)
offsetWidth是指对象自身的宽度(含padding,含border)
scrollWidth是对象实际内容的宽度(含padding,含border,含滚动条)
0.5怎么了啊 没听过啊 好想知道什么感觉
网页可见区域宽: document.body.clientWidth;
网页可见区域宽: document.body.offsetWidth (包括边线的宽);
之所以能用clientWidth代替offsetWidth是因为:
clientWidth: 获取的是对象可见内容的宽度,不包括滚动条,不包括边框;
具体详情:【传送门】http://www.imooc.com/learn/608
当你知道这些效果可以用CSS来简短几行就能完成时,你就会知道JS的书写逻辑给JS初学者带来多大的困扰。CSS3也逐渐在新加一些动画属性,比如transition,animation。我很同意某位的观点,技术日新月异,尤其是前端。就像这节内容中,现在极少数人再用filter:alpha给IE添加透明度效果了。该淘汰的就得淘汰,该变就得变。CSS+JS都得学,学更多的就是为了开阔思路。有余力,则学文。
先不说错误,这只是同时执行,但不是同时结束呀
老师把opacity 都写成opactiy了,还是把功能实现了,真是厉害

最新回答 / qq_巧克力人生
function startMove(obj,json,fn) {    clearInterval(obj.timer);    var flag = true;/*flag作为判断每个运动是否都完成的标志*/ obj.timer = setInterval(function(){ for(var attr in json) { var temp = 0; if(attr =="opacity") { temp = Math.round(pa...
看来真的只有我一个人发现,老师最终示例的图,文字不是斜体的,也就是说老师P标签没有放在I标签内,这也就解释了,我在鼠标经过时,图片和文字一起事件了,而老师的却只有图片事件了!那么问题来了,老师这节展示出来的代码一定是不对的。
就一个问题,鼠标经过时,图片和文字一起上去了,我看老师的示例中只有图片上去了,文字没动。我写的代码几乎和老师一致,这何解啊?
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消