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

JS动画效果

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

已采纳回答 / once829
var lis_style=window.getComputedStyle(obj,null),      wd=lis_style.width;定义变量要放在定时器内部。放在外部的话,第一次传入定时器内的wd值为260,再一次执行定时器不会重新上诉代码,因此wd的值始终为260,所以效果显示出来就是停在了宽度为270的地方。

最新回答 / Mooc陌蓠
可能是body默认的padding和margin没有清除,在css样式里面设置  *{padding:0; margin:0;}清空所有元素的默认边距避免影响我们的页面效果。

已采纳回答 / Camille__
是的,如果一定要传很多参数的时候可以把这些参数封装到一个对象里面,然后把这个对象传过去

已采纳回答 / 右下角_
问题出现当 触发onmouseleave 时,传入speed=5,而star_1 中的局部变量speed=5,由于itarget=-160<0,所以,speed=-speed,即此时局部变量speed=-5,而下一个50ms,由于itarget=-160<0不变,继续执行speed=-speed,即此时局部变量speed=5了,到此发现问题了,在定时器的作用下,speed会在5与-5之间来回变动,有没有达到任何 你设置的 停止条件,就出现了 无限制的抖动。而如果speed=-5,固定值 就不会...

最新回答 / 简以凝
icur=Math.round(parseFloat(getStyle(obj,attr))*100);在这句程序中,getStyle是封装好的一个函数,里边就已经判断了IE和Firefox浏览器,这对不同的浏览器获取css属性。IE是currentStyle,Firefox是getComputedStyle.

已采纳回答 / 我爱吃母鸡
那就绑定其他事件,点击触发也可以或者在其他地区绑定事件

已采纳回答 / 哎狐狐
你电脑有声音吗,你是不是调静音了

最新回答 / 风中过客
找了我半个小时。。你的flag 放到定时器里面。不然等到 if(json[attr]!=icur){        flag=false;      }你的flag还是为false的时候, 你的flag 因为之前是false, 所以一直都是falsefunction startMove(obj,json,fn){   clearInterval(obj.timer);  obj.timer=setInterval(function(){  var flag=true;    for(var attr in...

已采纳回答 / 紫菜中毒
2-1这节的运动是做匀速运动的,而且参数简化到剩下一个。 if(div.offsetLeft>目标值200){    speed=-10; //速度是10刚好会到0,如果速度是-8  是不是到最后还有一个余数 -4px//oDiv.style.left = oDiv.offsetLeft + speed + 'px'; 是不是 left就会有稍微有偏移量  ;反之亦然,所以会一直抖动。定时器是30ms启动一次,课程里面 已经是 left就是都到节点值 他就一直维持不动了。 比如你现在宽度 设置成 你...

最赞回答 / 幽雪孤狐
简单看了下,代码的逻辑是通过JS创建个DIV,插入到body中,然后希望鼠标移入时透明度变为1,移出时再把透明度变回来,但此代码有几个致命错误,反映出楼主要对基本概念的理解要加强。1、通过创建插入的方法没有错,但是,这个时候创建的这个div有没有opacity属性呢?由newdiv.style.opacity可看出,楼主希望通过这个方法来获取div的opacity属性。但是,这个对象本身并没有这个属性啊,原因是楼主并没有通过newdiv.setAttribute来设置这个opacity属性。楼主可能认为在...

已采纳回答 / 盛夏孤星
ali[i].onmouseover=function(){                 startMove(this,'height',400);             }和 ali[i].onmouseover=function(){                 startMove(this,'width',400);             }是同一个对象,它只能按顺序执行,不能同时执行,因此忽略了width

已采纳回答 / 害羞长颈鹿
这是jQuery封装的一个方法,$(function(){})你可以简单的理解为JS中的window.onload,效果是差不多的,但功能会更强大
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消