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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
  • 获取样式
    查看全部
    0 采集 收起 来源:获取样式

    2017-03-09

  • 使用JQ实现纵向滚动一圈的效果
    查看全部
    0 采集 收起 来源:jQuery动画案例

    2017-03-08

  • 纵向滚动一圈效果:减小top -> 设置top为一个较大的固定值 -> 减小top至原值
    查看全部
    0 采集 收起 来源:JS动画案例

    2018-03-22

  • JSON:一种轻量级的数据交换格式,格式为{"name":value, ...}。 视频里其实用的是对象字面量(var obj = {name:value, ...};),而不是JSON。 取值:for(var key in obj) var value = obj[key]; 使用对象来实现多属性同时运动:{attr1:iTarget1, attr2:iTarget, ...}。 需要在startMove(obj,json,fn)里用一个flag变量来表示是否所有属性都已达到目标值;当flag==true(即都已达到),则结束动画。
    查看全部
  • 如果同时调用多个startMove函数,后面的startMove会清除掉前面的startMove的定时器(因为startMove函数中第一句就是clearInterval)。因此实际只有最后一个startMove被执行了。
    查看全部
    0 采集 收起 来源:同时运动

    2017-03-08

  • 改变大小
    查看全部
  • 链式动画:一个动画执行完毕后,紧接着自动执行另一个动画。 实现:给startMove函数添加一个参数func,用于传入一个函数。
    查看全部
    0 采集 收起 来源:JS链式动画

    2017-03-07

  • 解决startMove(obj,attr,iTarget)函数的两个bug: 1、当attr为opacity时,parseInt获取值可能永远为0;因此代码修改为: if(attr == "opacity"){ icur = Math.round(parseFloat(getStyle(obj,attr)) * 100; } else{ icur = parseInt(getStyle(obj,attr), 10); } 2、当attr为opacity或其他非px单位的属性时,obj.style[attr]显示值单位异常;因此代码修改为: if(attr == "opacity"){ obj.style.filter = "filter:alpha(opacity:" + (icur + speed) + ")"; obj.style.opacity = (icur + speed) / 100; } else{ obj.style[attr] = icur + speed + "px"; } 注意: 1、计算机不能精确处理浮点数,因此浮点数一般不用来做比较或一些精确度要求较高的计算;因此此处的parseFloat值还要用Math.round四舍五入一下。 2、parseInt的第二个参数(表示进制)最好写上。如果第一个参数是字符串,那么parseInt会将"0x"开头的string当做16进制数、将"0"开头的string当做8进制数。 3、parseInt和parseFloat要求string的第一个字符必须为数字,否则返回NaN;parseInt会将string中的第一个非数字字符及其后的字符全部丢弃,而parseFloat会将string中的第一个非数字字符(除了第一个点号及点号后紧跟的数字)及其后的字符全部丢弃。 4、当+运算的一边为字符串时,会优先执行字符串连接操作,因此有数学运算时最好用括号包含或用另一个变量表示。
    查看全部
  • 只要是多物体运动,都不能共用初始化的变量 包括定时器和透明度初始值
    查看全部
    0 采集 收起 来源:JS多物体动画

    2017-03-07

  • offsetXXX系列属性都会有一些bug(比如有border属性时,offsetWidth和offsetHeight取值异常),所以读取样式一般使用currentStyle(限IE,相当于style+runtimeStyle)或getComputedStyle(FF返回原始值,webkit返回最终值)。
    查看全部
  • 涉及到速度的,一定要记得向上或者向下取整 Math.floor():向下取整 Math.ceil():向上取整
    查看全部
    0 采集 收起 来源:JS缓冲动画

    2017-03-07

  • offsetLeft 获取的是相对于父对象的左边距 left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距
    查看全部
    0 采集 收起 来源:JS速度动画

    2017-03-07

  • <element>.style.<attribute>:用于获取内联样式(又称行内样式)的属性值。 getComputedStyle(<element>,false).<attribute>:用于最终样式的只读属性值,不兼容IE9-。 <element>.currentStyle.<attribute>:用于IE9-获取当前样式的属性值。 通用获取样式的函数: function getStyle(ele, attr){ return ele.currentStyle ? ele.currentStyle[attr] : getComputedStyle(ele, false)[attr]; }
    查看全部
    0 采集 收起 来源:获取样式

    2018-03-22

  • 多物体运动时,其运动的属性和计时器id等都不可共用,以防争抢资源。 需要用类似于“obj.timer”的格式传递和修改参数。
    查看全部
    0 采集 收起 来源:JS多物体动画

    2017-03-07

  • 透明度: opacity:0.3; /* IE9+和非IE浏览器,值为0~1 */ filter:alpha(opacity=30); /* IE8-,值为0~100 */
    查看全部
    0 采集 收起 来源:JS透明度动画

    2017-03-27

举报

0/150
提交
取消
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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