首页 > 代码库 > 探索javascript----小组件积累

探索javascript----小组件积累

作为对原生javascript新手,对一些小组件的学习可以巩固知识,可以提升业务效率;

获取元素类:

var get={};

get.$=function(id){

return getElementById(id);

},

get.$$=function(oParent,sClass){

var a=[];

var reClass=RegExp("(^| )"+sClass+"( |$)");

var aElem=this.$$$(oParent,"*");

for(var i=0;i<aElem.length;i++) reClass.test(aElem[i].className)&& a.push(aElem[i]);

return a;

},

get.$$$=function(obj,elem){

return (obj||document).getElementsByTagName(elem);

}

定向定速运动

//获取计算后样式函数:

function getStyle(obj,attr){

 return obj.currentStyle?obj.currentStyle[attr]:window.getComputedStyle(obj,null)[attr];

}

//定向定速定点可回调函数:

function doMove(obj,attr,spe,s,endFn){

clearInterval(obj.timer);

spe=(parseInt(getStyle(obj,attr))<s)?spe:-spe;//如果当前位置小于目标位置,则向正方向移动(如top和right),反之变负

obj.timer=setInterval(function(){

 var nowS=parseInt(getStyle(obj,attr))+spe;//注意先加再判断!

 if(spe>0 && nowS>=s || spe<0 && nowS<=s)

 {

 obj.style[attr]=s+"px";

 clearInterval(obj.timer);

 endFn && endFn();

 }else{

 obj.style[attr]=nowS+"px";

 }

},20);

}

 

 

 

 

 

探索javascript----小组件积累