function getStyle(obj, attr)
{
if(obj.currentStyle)
{
return obj.currentStyle[attr];
}
else
{
return getComputedStyle(obj, false)[attr];
}
}
function startMove(obj, json, fn)
{
clearInterval(obj.timer);
obj.timer=setInterval(function (){
var bStop=true; //这一次运动就结束了——所有的值都到达了
for(var attr in json)
{
//1.取当前的值
var iCur=0;
if(attr=='opacity')
{
iCur=parseInt(parseFloat(getStyle(obj, attr))*100);
}
else
{
iCur=parseInt(getStyle(obj, attr));
}
//2.算速度
var iSpeed=(json[attr]-iCur)/8;
iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
//3.检测停止
if(iCur!=json[attr])
{
bStop=false;
}
if(attr=='opacity')
{
obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')';
obj.style.opacity=(iCur+iSpeed)/100;
}
else
{
obj.style[attr]=iCur+iSpeed+'px';
}
}
if(bStop)
{
clearInterval(obj.timer);
if(fn)
{
fn();
}
}
}, 30)
}
完美运动框架
原创jiuyuechumei ©著作权
©著作权归作者所有:来自51CTO博客作者jiuyuechumei的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:华为轮播图
下一篇:ie6兼容min-width解决
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C#雷赛运动控制卡学习记录
C#雷赛运动控制卡基础运动控制
Text Click 运动控制 -
ROS之MoveIt!运动规划框架
安装 文件 关于 帮助 博客参与其中2018年10月
MoveIt! ROS运动规划 ubuntu 3d python脚本 -
javaScript简易运动框架封装——和派孔明
//javascript简易运动框架封装
BOM DOM 运动框架封装 json 封装