现在的位置: 首页 > 综合 > 正文

JS运动框架

2012年05月23日 ⁄ 综合 ⁄ 共 1018字 ⁄ 字号 评论关闭

 

 

function startMove(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 =  Math.round(parseFloat(getStyle(obj, attr)*100));
			}else{
				iCur = parseInt(getStyle(obj, attr));
			};
			var iSpeed = (json[attr]-iCur)/8;
			iSpeed = iSpeed>0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);

			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);
};

function getStyle(obj, attr){
    if(obj.currentStyle){
        return obj.currentStyle[attr];
    }else{
        return getComputedStyle(obj, false)[attr];
    }
};

function getElementsByClassName(node, classname){
	if(node.getElementsByClassName){
		return node.getElementsByClassName(classname);
	}else{
		var results = [];
		var elems = node.getElementsByTagName("*");
		for(var i=0; i<elems.length; i++){
			if(elems[i].className.indexOf(classname) != -1){
				results[results.length] = elems[i];
			}
		}
		return results;
	}
}

  

 

 

 

 

 

 

抱歉!评论已关闭.