分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

JS封装运动框架(另一种写法)

发布时间:2023-09-06 01:17责任编辑:傅花花关键词:暂无标签

function animate(obj, json, interval, sp, fn) {
?clearInterval(obj.timer);
?//var k = 0;
?//var j = 0;
?function getStyle(obj, arr) {
???if(obj.currentStyle){
?????return obj.currentStyle[arr]; ?//针对ie
???} else {
?????return document.defaultView.getComputedStyle(obj, null)[arr];
???}
?}
?obj.timer = setInterval(function(){
???//j ++;
???var flag = true;
???for(var arr in json) {
?????var icur = 0;
?????//k++;
?????if(arr == "opacity") {
???????icur = Math.round(parseFloat(getStyle(obj, arr))*100);
?????} else {
???????icur = parseInt(getStyle(obj, arr));
?????}
?????var speed = (json[arr] - icur) * sp;
?????speed = speed > 0 ? Math.ceil(speed): Math.floor(speed);
?????if(icur != json[arr]){
???????flag = false;
?????}
?????if(arr == "opacity"){
???????obj.style.filter = "alpha(opacity : ‘+(icur + speed)+‘ )";
???????obj.style.opacity = (icur + speed)/100;
?????}else {
???????obj.style[arr] = icur + speed + "px";
?????}
?????//console.log(j + "," + arr +":"+ flag);
???}

???if(flag){
?????clearInterval(obj.timer);
?????//console.log(j + ":" + flag);
?????//console.log("k = " + k);
?????//console.log("j = " + j);
?????//console.log("DONE");
?????if(fn){
???????fn();
?????}
???}
?},interval);
}

JS封装运动框架(另一种写法)

原文地址:http://www.cnblogs.com/dragon126/p/7658350.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved