原生js仿jquery animate动画效果_

上传人:x** 文档编号:25882779 上传时间:2021-08-02 格式:DOCX 页数:6 大小:13.30KB
收藏 版权申诉 举报 下载
原生js仿jquery animate动画效果__第1页
第1页 / 共6页
原生js仿jquery animate动画效果__第2页
第2页 / 共6页
原生js仿jquery animate动画效果__第3页
第3页 / 共6页
资源描述:

《原生js仿jquery animate动画效果_》由会员分享,可在线阅读,更多相关《原生js仿jquery animate动画效果_(6页珍藏版)》请在装配图网上搜索。

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的属性,只兼容了(width,height,top,left,right,bottom,opacity) 8.猎取对象样式的信息,要推断IE或者火狐扫瞄器,区分对待 以上就是本文的全部内容,盼望对大家的学习有所关心 .

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!