js的一些函数封装

学习js封装的一些函数,测试可以用

//通过类名获取元素
function getClass(obj,name){
	var arr=[];
	var all=obj.getElementsByTagName('*');
	for (var i=0;i<all.length;i++) {
		if(all[i].className==name){
			arr.push(all[i]);
		}
	}
	return arr;
}
//获取和设置元素的样式,格式:myStyle(obj,'width')获取obj的宽度值;
//myStyle(obj,'width','400px')设置obj的宽度为400px
function myStyle(){
	if(arguments.length==2){
		if(arguments[0].currentStyle){
			return arguments[0].currentStyle[arguments[1]];
		}else{
			return getComputedStyle(arguments[0],false)[arguments[1]];
		}
	}
	else{
		arguments[0].style[arguments[1]]=arguments[2];
	}
}
//完美运动框架,格式:move(obj,{'opacity':100})设置opacity为1;
//move(obj,{'opacity':100,'width':400})同时设置透明度和宽度;
//move(obj,{'opacity':100},function (){ move(obj,{'width':400}); });
//先设置透明度为100,再设置宽度为400
function move(obj,json,fn){
		var val=0;
		clearInterval(obj.timer);
		obj.timer=setInterval(function (){
			var flag=true;
			for(var arrt in json){
				if(arrt=='opacity'){
					val=Math.round(parseFloat(myStyle(obj,arrt))*100);
				}else{
					val=parseInt(myStyle(obj,arrt));
				}
				var speed=(json[arrt]-val)/10;
				speed=speed>0?Math.ceil(speed):Math.floor(speed);
				if(json[arrt]!=val){
					flag=false;
				}
				if(arrt=='opacity'){
					obj.style[arrt]=(val+speed)/100;
					obj.style.filter='alpha(opacity:'+(val+speed)+')';
				}else{
					obj.style[arrt]=val+speed+'px';
				}
			}
			if(flag){
				clearInterval(obj.timer);
				if(fn){
					fn();
				}
			}
		},30);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值