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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
用clientWidth代替offsetWidth仅仅是在该情况下适用。getStyle封装可以用到好多地方
因为oDiv.style.width获取到的是字符串,(比如 ‘100px’),所以需要用parseInt(oDiv.style.width)来把该字符串类型转换为数字类型(‘100px’—》 100)

最新回答 / 苏明山下
<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>Document</title>    <style type="text/css">        * {            margin: 0;            padding: 0;            font-size: 12px;        }             ...

已采纳回答 / jw3631281
 function startMove(iTarget){clearInterval(timer);var oDiv=document.getElementById('div1');   timer=setInterval(function(){var speed =(iTarget-oDiv.offsetLeft)/10;speed=speed>0? Math.ceil(speed):Math.floor(speed);}                               -------...
有些人是来认真学习的,有些人是来各种意淫的

最赞回答 / stone310
是json,也是js对象,json标准格式其实是带双引号 例如:var js={"name":'zs',"age":30};但是在js里面的key值不需要双引号也行;这么写得都是对象;js这种var js={}写法,相当于 var js=new Object();只是前面写得更简洁;
var speed=(iTarget-obj.offsetLeft)/8;
为啥要除以8

已采纳回答 / 前端大神是我的梦
链接:http://pan.baidu.com/s/1hrPbb3Q 密码:4tov

最新回答 / qq___571
函数里面的属性名加上引号试试
aList[i].onmouseover=function(){
var IM=this.getElementsByTagName(&#039;img&#039;)[0];
startMove(IM,{top:-35,opacity:0});
}

已采纳回答 / 那一缕微风
因为如果不清除定时器的话,每次当鼠标移入的时候就会在先前的定时器上再开一个定时器,造成定时器的叠加,这样效果就不好了。设置+1是为了更好的看见定时器叠加后的效果。

已采纳回答 / SoEasy_1
兄弟啊,细心点啊。你传参是Target,下面却在用Taret if(obj.alpha > Target){                        speed = -10;                    }                    if(obj.alpha < Target){                        speed = 10;                    }

已采纳回答 / 慕少1442876
负值是向左运动,向左不就是移出么

已采纳回答 / 二哥二姐二姐夫
body本身的margin属性没有reset你在CSS里加一句 *{margin:0;padding:0;}
科普:老师写的那个根本不是json,只是一个普通的js对象
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消