千家信息网

分享JavaScript运动框架

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,本篇内容介绍了"分享JavaScript运动框架"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Jav
千家信息网最后更新 2025年11月12日分享JavaScript运动框架

本篇内容介绍了"分享JavaScript运动框架"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程。如让div的width属性由200px变到400px,opacity属性由0.3变到1.0,就是一个运动过程。

实现运动要注意以下方面:

1. 匀速运动(改变left、right、width、height、opacity等属性)

2. 缓冲运动(速度是变化的)

3. 多物体运动(注意所有东西都不能共用,否则容易产生冲突,如定时器timer)

4. 获取任意属性值(封装一个getStyle函数)

5. 链式运动(串行)

6. 同时运动(并行,同时改变多个属性,需要使用 json)

封装好的getStyle函数,在下面的运动框架中会用到:

function getStyle(obj,attr){

if(obj.currentStyle){

return obj.currentStyle[attr]; //针对IE

}

else{

return getComputedStyle(obj,false)[attr]; //针对Firefox

}

}

万能的运动框架:

function Move(obj,json,callback){

var flag=true; //标志变量,为true表示所有运动都到达目标值

clearInterval(obj.timer);

obj.timer=setInterval(function(){

flag=true;

for(var attr in json){

//获取当前值

var curr=0;

if(attr=='opacity'){

curr=Math.round(parseFloat(getStyle(obj,attr))*100); //parseFloat可解析字符串返回浮点数//round四舍五入

}

else{

curr=parseInt(getStyle(obj,attr)); //parseInt可解析字符串返回整数

}

//计算速度

var speed=(json[attr]-curr)/10;

speed=speed>0?Math.ceil(speed):Math.floor(speed);

//检测是否停止

if(curr!=json[attr]){

flag=false; //有一个属性未达目标值,就把flag变成false

}

if(attr=='opacity'){

obj.style.filter='alpha(opacity:'+(curr+speed)+')'; //针对IE

obj.style.opacity=(curr+speed)/100; //针对Firefox和Chrome

}

else{

obj.style[attr]=curr+speed+'px';

}

}

if(flag){

clearInterval(obj.timer);

if(callback){

callback();

}

}

},30);

}

调用上述运动框架的实例:

var div_icon=document.getElementById('icon');

var aList=div_icon.getElementsByTagName('a');

for(var i=0;i

aList[i].onmouseover=function(){

var _this=this.getElementsByTagName('i')[0];

Move(_this,{top:-70,opacity:0},function(){

_this.style.top=30+'px';

Move(_this,{top:10,opacity:100});

});

}

}

"分享JavaScript运动框架"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

运动 属性 框架 过程 内容 函数 同时 字符 字符串 更多 目标 目标值 知识 速度 封装 实用 匀速运动 四舍五入 学有所成 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全等级评估标准 dapp软件开发公司 浙江新一代网络技术服务市场价 离石区网络安全工作 警官学院信息网络安全监察 数据库无损连接初始化图怎么画 华为手机内部服务器错误什么意思 在窗体里怎么连接数据库 数据库方向以后的工作 外贸抗投诉服务器租用 魔兽是什么软件开发的 怎么用ip地址进入文件服务器 上大专校企合作软件开发行吗 性价比好的软件开发外包 数据库从哪看服务器名称 大学软件开发专业学习科目 4月20日网络安全讲话 国药控股软件开发 1u2u4u服务器都有哪些 光遇ios显示服务器繁忙怎么办 网络安全不要转发 清单数据库 数据库在线搭建 网络技术工程属于哪个专业 理光打印机文件服务器共享文件夹 工业视觉软件开发用什么语言 魔域服务器加盟 哪里用到数据库 软件开发的费用怎么入账 php存取图片到数据库
0