JS简单动画封装浅析

 更新时间:2011年11月15日 01:54:23   作者:  
JS动画,实质是对DOM样式的改变。只要把主流浏览器DOM元素的属性方法搞清楚,做JS动画并不算难
网上也有很多封装好的JS动画库,但大多因为功能过于完善,而至于代码量大动辄过千行,不宜在小项目中使用。这里自己封装了一个很轻量的动画库,主要功能都已实现。难免有疏漏之处,还请大家多多指教。

  这里先说明一下功能和用法,以及注意点,随后是一个很简单的可运行示例。

用法及注意事项:
anim(elemId, cssObj, time, animType, funObj)
参数说明:
elemId (必选)需要施加动画效果的元素id
cssObj (必选)动画结束时的样式,对象类型,键值对形式,
其中键是能直接用在JS中的“驼峰”形式的css属性,而不是原来的css属性。
例如:{ marginLeft: '200px', top: '200px', borderWidth: '8px'}
time (必选)动画持续时间(单位ms)
animType (可选)默认为线性变化,代码里的Tween类型包含可选的其他参数
funObj (可选)如果要此选项,需要加入开始和结束时候执行的函数。
形如:{ el为elemId所指向的元素
start: function (el) { el.innerHTML = 'start!'; },
complete: function (el) { el.innerHTML = 'Completed!'; }
}

几点注意事项:
1、没有做低版本浏览器兼容,支持IE8+、FF、chrome、safari、opera
2、注意用能直接用在JS中的“驼峰”形式的css属性(本来应把css转“驼峰”形式,
但是基本所有JS程序员都能直接写出驼峰形式,所以没转)
3、如果需要把动画应用到绝对定位(position:absolute;)元素上,
需要注意在这些元素上设置CSS的方法。
例如:设置top和marginTop,对于绝对定位元素,应该设置top而不是marginTop,
更不应该将二者混合使用,因为二者的参考点是不一样的,同时设置很容易造成混乱。
所以,这里也不支持同时设置二者。
其他相似的同理(left和marginLeft、right和marginRight)
同时设置top和bottom、left和right也不支持。
4、引用了Tween缓动算法,支持线性、渐入渐出等多种变化方式。
5、“动画队列”功能尚未实现,此版本为初级版本,疏漏之处还请多多指正。


[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

相关文章

  • JS控制按钮10秒钟后可用的方法

    JS控制按钮10秒钟后可用的方法

    这篇文章主要介绍了JS控制按钮10秒钟后可用的方法,涉及JavaScript基于时间函数控制页面元素样式动态变换的技巧,需要的朋友可以参考下
    2015-12-12
  • JavaScript构造函数举例详解

    JavaScript构造函数举例详解

    Javascript构造函数是非常强大的,它可能也是Javascript能被充分利用的特点之一,文中通过实例代码介绍的非常详细,这篇文章主要给大家介绍了关于JavaScript构造函数的相关资料,需要的朋友可以参考下
    2023-04-04
  • JS获取并操作iframe中元素的方法

    JS获取并操作iframe中元素的方法

    JS获取并操作iframe中元素的方法,需要的朋友可以参考一下
    2013-03-03
  • JS运行耗时操作的延时显示方法

    JS运行耗时操作的延时显示方法

    今天用JS允许一个ActiveX,挺耗时的,想在允许时提示用户正在允许,而不至于漏斗在那里
    2010-11-11
  • Chart.js功能与使用方法小结

    Chart.js功能与使用方法小结

    这篇文章主要介绍了Chart.js功能与使用方法,结合实例形式分析了Chart.js功能、使用方法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • jsonp跨域及实现百度首页联想功能的方法

    jsonp跨域及实现百度首页联想功能的方法

    这篇文章主要介绍了jsonp跨域及实现百度首页联想功能的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Javascript中实现String.startsWith和endsWith方法

    Javascript中实现String.startsWith和endsWith方法

    这篇文章主要介绍了Javascript中实现String.startsWith和endsWith方法,这两个很好用的方法在JS中没有,本文就自己编码实现了这两个方法,需要的朋友可以参考下
    2015-06-06
  • javascript的列表切换【实现代码】

    javascript的列表切换【实现代码】

    下面小编就为大家带来一篇javascript的列表切换【实现代码】。小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-05-05
  • 微信小程序如何获取用户头像和昵称

    微信小程序如何获取用户头像和昵称

    这篇文章主要介绍了微信小程序如何获取用户头像和昵称,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • JavaScript 显示一个倒计时广告牌的实现示例

    JavaScript 显示一个倒计时广告牌的实现示例

    本文主要介绍了JavaScript 显示一个倒计时广告牌的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论