首页 > 代码库 > 探索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----小组件积累