您的位置:首页 > Web前端 > JavaScript

js的一些函数封装

2016-09-29 23:39 411 查看
学习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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息