




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、原生js仿jquery animate动画效果_ 这篇文章主要为大家具体介绍了原生js仿jquery animate动画效果,具有肯定的,感爱好的小伙伴们可以参考一下 代码如下: !DOCTYPE html html lang=en head meta charset=UTF-8 title动画/title style *margin:0;padding:0; .boxwidth: 400px;height: 300px;background: #000;margin:40px auto;color: #fff;font-size: 18px;text-align: center; /styl
2、e script /猎取对象样式规章信息,IE下用法currentStyle function getStyle(obj,style) return obj.currentStyle?obj.currentStylestyle:getComputedStyle(obj,false)style; /原生js动画类似jquery-animate function animate(obj,styleJson,callback) clearInterval(obj.timer); / 开启定时器 obj.timer=setInterval(function() var flag=true;/假设全部动
3、作都已完成成立。 for(var styleName in styleJson) /1.取当前属性值 var iMov=0; / 透亮度是小数,所以得单独处理 iMov=styleName=opacity?Math.round(parseFloat(getStyle(obj,styleName)*100):parseInt(getStyle(obj,styleName); /2.计算速度 var speed=0; speed=(styleJsonstyleName-iMov)/8;/缓冲处理,这边也可以是固定值 speed=speed0?Math.ceil(speed):Math.floor(
4、speed);/区分透亮度及小数点,向上取整,向下取整 /3.推断是否到达预定值 if(styleJsonstyleName!=iMov) flag=false; if(styleName=opacity)/推断结果是否为透亮度 obj.stylestyleName=(iMov+speed)/100; obj.style.filter=alpha(opacity:+(iMov+speed)+); else obj.stylestyleName=iMov+speed+px; if(flag)/到达设定值,停止定时器,执行回调 clearInterval(obj.timer); if(callba
5、ck)callback(); ,30) window.onload=function() document.getElementById(box).onclick=function() var oThis=this; animate(oThis,width:500,function() animate(oThis,height:400,function()alert(宽度高度都增加了); ); /script /head body div class=box id=box点击效果:宽度增加-高度增加-弹出框/div /body /html 留意点 1.动画前要先停止原来的定时器,不然绑定多个对
6、象的话会冲突 2.定时器的id要区分开,不能重叠,这里我挺直那绑定对象的 对象来赋值 obj.timer 3.要推断所要执行的动画,是否全部到了设定值= flag,全部执行完再停止定时器再执行回调函数 4.javascript的数据类型转换问题 alert(0.07*100); /弹出7.000000000000001 留意:Javascript在存储时并不区分number和float类型,而是统一按float存储。而javascript用法IEEE 754-2021 标准定义的64bit浮点格式存储number,根据IEEE 754的定义: decimal64对应的整形部分长度为 10,小数部分长度为16,所以默认的计算结果为“7.0000000000000001”,如最终一个小数为0,则取1作为有效数字标记。 5.传入的json数据不能带px,例如width:300px,为了兼容透亮度的数值,没想到好的处理方式,有没有大神指导下. 6.该定时器做了缓冲处理,改变越来越慢,想要快速的效果或者匀速的效果,只需要在2.计算速度那块做下处理就可以 7.不兼容css3的属性,只兼
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗大数转型与公共卫生服务优化策略
- 医疗AI的监管框架与数据隐私保护
- 五金建材批发合同范例
- 买手签认购合同范例
- 区块链技术在商业领域的合规性及法律环境分析
- 医疗信息化的安全管理与保障
- 公众号制作服务合同范例
- 医疗器械的技术进步与健康产业发展
- 幼儿骨干教师培训心得体会模版
- 医疗AI在健康教育中的伦理影响
- 【《幼儿园角色游戏活动的现状及改进策略(后附问卷)》11000字(论文)】
- 病例汇报课件(完整版)
- 人教版八年级下册物理精讲与精练突破专题强化一 杠杠和滑轮组作图问题(附答案)
- “互联网+护理服务”探索与实践
- 2023年黑龙江省哈尔滨市中考数学试题及参考答案
- 河南省信阳市固始县2023-2024学年六年级下学期6月期末英语试题
- NY∕T 2537-2014 农村土地承包经营权调查规程
- 2024国网湖南省电力公司高校毕业生招聘400人(第三批)重点基础提升难、易点模拟试题(共500题)附带答案详解
- 计算机三级《Linux应用与开发技术》考试题库大全(含真题、典型题等)
- 环境因素识别评价表
- 家长会课件:中考前百日誓师家长会课件
评论
0/150
提交评论