2012年3月27日星期二

这段时间用到的javascript工具库

这段时间用到的javascript工具库



工作中,自己边用边写的

  1 /*
2 *YYJ.js 主要提供后台应用方法
3 *目前有Ajax、addLoadEvent、deleteAll、getByClass、$C(=getByClass)、$、yyjtable、setCss、getCss、iaArray等方法。最后面还提供了一个
4 *可实例化的方法YYJ.tick用来计算脚本运行时间
5 *版本0.1 --tianyi yyj
6 */
7 var YYJ=function(){
8 var UniqueInstance;
9 function constrotor(){
10 return {
11 //ajax方法
12 Ajax:function(method,url,data,success,fail){
13 var isget=method.toLowerCase()=="get";
14 var new new ActiveXObject("Microsoft. 15 true);
16 if(!isget) 17 function(){
18 if( 19 if( 20 if(success)success( 21 }else{
22 if(fail)fail( 23 }
24 }
25 };
26 null:data);
27 },//Ajax
28 addLoadEvent:function(func) {
29 var oldonload = window.onload;
30 if (typeof window.onload != 'function') {
31 window.onload = func;
32 } else {
33 window.onload = function() {
34 if (oldonload) {
35 oldonload();
36 }
37 func();
38 }
39 }
40 },//addLoadEvent
41 deleteAll:function(checkallbtn,checksomebtn,submitbtn){
42 var checkall=YYJ.$(checkallbtn);
43 var checksome=YYJ.$(checksomebtn);
44 var submit1=YYJ.$(submitbtn);
45 var checkboxs=(function(){
46 var arr=[];
47 var check=document.getElementsByTagName("input");
48 for(i=0;i<check.length;i++){
49 if(check[i].getAttribute("type")!="checkbox")
50 continue;
51 arr.push(check[i]);
52 }
53 return arr;
54 })();
55 checkall.onclick=function(){
56 checkall.clicked=true;
57 for(var i=0;i<checkboxs.length;i++){
58 if(!checkboxs[i].checked){
59 checkall.clicked=false;
60 break;
61 }
62 }
63 if(!checkall.clicked){
64 for(var i=0;i<checkboxs.length;i++){
65 checkboxs[i].checked=true;
66 }
67 }else{
68 for(var i=0;i<checkboxs.length;i++){
69 checkboxs[i].checked=false;
70 }
71 }
72 }
73 checksome.onclick=function(){
74 for(var x in checkboxs){
75 checkboxs[x].checked=!checkboxs[x].checked;
76 }
77 }
78 submit1.onclick=function(){
79 var haschecked=false;
80 var beSureDel=false;
81 for(var i=0;i<checkboxs.length;i++){
82 if(checkboxs[i].checked){
83 haschecked=true;
84 break;
85 }
86 }
87 haschecked?function(){
88 beSureDel=confirm("确定要删除选中项吗?");
89 }():function(){
90 alert("没有选中项!");
91 beSureDel=false;
92 }();
93 return beSureDel;
94 }
95 },//deleteall
96 getByClass:function(classname,parent,nodename){
97 var s=(parent||document).getElementsByTagName(nodename||"*");
98 return function(){
99 var a=[];
100 for(var i=0,j=s.length;i<j;i++){
101 if(!s[i].className) continue;
102 var name=" "+s[i].className+" ";
103 if(name.indexOf(" "+classname+" ")!=-1){
104 a.push(s[i]);
105 }
106 }
107 return a;
108 }();
109 },
110 $C:function(classname,parent,nodename){
111 return YYJ.getByClass(classname,parent,nodename);
112 },//getByClass
113 $:function(str){
114 return document.getElementById(str);
115 },//getById
116 yyjtable:function(tableId){
117 var tbl=YYJ.$(tableId);
118 var trs=tbl.getElementsByTagName("tr");
119 for(var i=1;i<trs.length;i++){
120 if(i%2!=0){
121 trs[i].style.backgroundColor="#FFFFF0";
122 }else{
123 trs[i].style.backgroundColor="white";
124 }
125 trs[i].onmouseover=function(){
126 this.col1=this.style.backgroundColor;
127 this.style.backgroundColor="#FFFACD";
128 }
129 trs[i].onmouseout=function(){
130 this.style.backgroundColor=this.col1;
131 }
132 }
133 },//yyjtable
134 /*使用方法
135 YYJ.setCss([YYJ.$("table1")],{
136 color:"red",
137 backgroundColor:"silver"
138 });*/
139 setCss:function(eles,opt){
140 if(!eles||!opt)return;
141 if(!eles.length){
142 throw new Error("setCss的第一个参数要求为数组!");
143 }
144 for(var i=0;j=eles[i];i++){
145 try{
146 for(var x in opt){
147 j.style[x]=opt[x];
148 }
149 }catch(ex){}
150 }
151 },//setCss
152 /*使用方法
153 var css=YYJ.getCss(YYJ.$("table1"),["backgroundColor"]);
154 alert(css["backgroundColor"]);*/
155 getCss:function(ele,opt){
156 if(!this.isArray(opt)){
157 throw new Error("getCss的第二个参数要求为string数组!");
158 }
159 var css={};
160 for(var i=0,j=opt.length;i<j;i++){
161 try{
162 css[opt[i]]=ele.style[opt[i]];
163 }catch(ex){}
164 }
165 return css;
166
167 },//getCss
168 isArray:function(opt){
169 return Object.prototype.toString.call(opt)=="[object Array]"
170 }
171
172 };
173 }
174 function getUniqueInstance(){
175 if(UniqueInstance){
176 return UniqueInstance;
177 }
178 UniqueInstance=constrotor();
179 return UniqueInstance;
180 }
181 return getUniqueInstance();
182 }();
183 //脚本执行时间
184 /*使用方法
185 var ti=new YYJ.ticks();
186 ti.begin();
187 代码段
188 ti.end();
189 alert(ti.tick);*/
190 YYJ.ticks=function(){
191 var starttick,stoptick;
192 return function(){
193 this.begin=function(){
194 starttick=new Date();
195 }
196 this.end=function(){
197 stoptick=new Date();
198 this.tick=stoptick-starttick;
199 }
200 }
201 }();





TAG:javascript