打印

原生js的运动框架。

[复制链接]
1151|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ljz1999|  楼主 | 2020-8-7 14:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//先获取非行间样式。
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj, false)[attr];
}
}
function move(obj,json,fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var bStop = true;
for(var attr in json){
//第一步算元素的初始值
var iCur = 0;
//判断属性是否为透明度
if(attr == "opacity"){
iCur = parseInt(parseFloat(getStyle(obj,attr))*100)
}else{
iCur = parseInt(getStyle(obj,attr));
}
//算速度
var speed = (json[attr]-iCur)/8;
//速度取整
speed = speed>0?Math.ceil(speed):Math.floor(speed);
//判断是否都已经到达目的地
if(iCur != json[attr]){
bStop = false;
}
//运动原理
if(attr == "opacity"){
obj.style.opacity = (iCur+speed)/100;
obj.style.filter = "alpha(opacity:"+(iCur+speed)+")"
}else{
obj.style[attr] = iCur+speed+"px";
}
}
if(bStop){
clearInterval(obj.timer);
fn&&fn();
}
},30)
}
1075083208

使用特权

评论回复

相关帖子

沙发
成绩不好不改名| | 2020-8-10 22:43 | 只看该作者
不错

使用特权

评论回复
板凳
ljz1999|  楼主 | 2020-8-12 10:29 | 只看该作者

好的,谢谢加群1075083208

使用特权

评论回复
地板
ljz1999|  楼主 | 2020-8-12 10:31 | 只看该作者
yyy71cj 发表于 2020-8-11 15:36
感觉需要配上说明才会懂……

好的,谢谢加群1075083208

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

36

帖子

1

粉丝