hjg
2024-07-09 30304784e82d4bba24121328da8eb8490aec4f4f
提交 | 用户 | 时间
58d006 1 //author: neeler_nitmoon  note: 常用方法库
A 2
3 (function($) {
4   $.getUrlParam = function(name) {
5     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
6     var r = window.location.search.substr(1).match(reg);
7     if (r != null) {
8       return unescape(r[2]);
9     }
10     return null;
11   }
12 })(jQuery);
13
14 /*********showErrmsg START**********************/
15 /**
16  *showErrmsg
17  */
18 //错误提示
19 function showErrmsg(str, callback) {
20   var neelerErrmsg = $("#neelerErrmsg");
21   if (!neelerErrmsg.length) {
22     setErrmsg();
23     neelerErrmsg = $("#neelerErrmsg");
24   }
25   if (!!window.neelerFlag) {
26     return;
27   }
28   // window.neelerFlag = 1;
29   neelerErrmsg.text(str).fadeIn("slow", function() {
30     window.neelerFlag = true;
31     setTimeout(function() {
32       neelerErrmsg.fadeOut("slow", function() {
33         if (callback != undefined && callback != "") {
34           callback();
35         }
36       });
37       window.neelerFlag = false;
38     }, 3000);
39   });
40 }
41
42 function setErrmsg() {
43   var neelerErrmsg = $("<div></div>")
44     .attr("id", "neelerErrmsg")
45     .css({
46       "display": "none",
47       "position": "fixed",
48       "top": "150px",
49       "left": "20%",
50       "width": "60%",
51       "height": "50px",
52       "border": "1px solid #000",
53       "border-radius": "10px",
54       "line-height": "50px",
55       "text-align": "center",
56       "background": "#000",
57       "opacity": "0.6",
58       "filter": "alpha(opacity=60)",
59       "color": "#FFF",
60       "z-index": "999999"
61     });
62   $("body").prepend(neelerErrmsg);
63 }
64 /*********showErrmsg END**********************/
65
66 String.prototype.lengthLimit = function(length) {
67   if (!length) {
68     return;
69   }
70   return this.length > length ? this.substr(0, length) + '...' : this;
71 }
72
73 /*********isList START********************/
74 //是否为data.list数组且不为空
75 function isList(arr) {
76   return ($.isArray(arr) && arr.length > 0) ? true : false;
77 }
78 /*********isList END**********************/
79
80
81 /*********ArrayUnique START**********************/
82 //数组去重
83 Array.prototype.unique = function() {
84     var n = {};
85     var r = [];
86     for (var i = 0; i < this.length; i++) {
87       if (!n[this[i]+'']) {
88         n[this[i]+''] = true;
89         r.push(this[i]);
90       }
91     }
92     return r;
93   }
94   /*********isItems START**********************/
95
96 function virtualFormSubmit(url, obj, method, target) {
97   var form = $('<form></form>').attr({
98     'action': url,
99     'method': !!method ? method : 'post',
100     'target': !!target ? target : '_self'
101   });
102   for (var attr in obj) {
103     var input = $('<input type="text" name=' + attr + '>').val(obj[attr]);
104     form.append(input);
105   }
106   form.appendTo('body');
107   form[0].submit();
108   form.remove();
109 }
110
111 /*********ntypeahead start**********************/
112 function ntypeahead(url, selector, callback, attr) {
113   var obj = null;
114   if (typeof(selector) == 'string')
115     obj = $(selector);
116   else
117     obj = selector;
118   obj.typeahead({
119     autoSelect: false,
120     source: function(query, process) {
121       window.ta_Process = []; //=== window.states=[];
122       window.ta_Updater = {}; //===window.map={}
123       $.ajax({
124         url: url,
125         type: 'post',
126         data: {
127           query: query
128         },
129         dataType: 'json',
130         ansyc: false,
131         success: function(json) {
132           if (json.length == 0)
133             return;
134           $.each(json, function(i, item) {
135             if (item.data != undefined) {
136               window.ta_Updater[item.name] = item.data;
137             }
138             window.ta_Process.push(item.name);
139           });
140           process(ta_Process);
141         }
142       });
143     },
144     updater: function(item) {
145       return item;
146       // var res = {};
147       // if ($.isEmptyObject(window.ta_Updater)) {
148       //     if (callback != null) {
149       //         callback(item, obj);
150       //     }
151       //     return item;
152       // } else {
153       //     res = window.ta_Updater[item];
154       // }
155       // if (callback != null) {
156       //     callback(res, obj);
157       // }
158       // if ($.isArray(attr)) {
159       //     var r = "";
160       //     $.each(attr, function(index, val) {
161       //         if (index == (attr.length - 1)) {
162       //             r = r + res[attr[index]];
163       //         } else {
164       //             r = r + res[attr[index]] + "--";
165       //         }
166       //     });
167       //     return r;
168       // } else {
169       //     console.log(res[attr]);
170       //     return res[attr];
171       // }
172     }
173   });
174 }
175
176 /*********ntypeahead start**********************/
177
178
179 function isFunction(fn) {
180     return (!!fn&&!fn.nodename&&fn.constructor!=String&&fn.constructor!=RegExp&&fn.constructor!=Array&&/function/i.test(fn+""));
181 }
182
183 // 对Date的扩展,将 Date 转化为指定格式的String   
184 // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
185 // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
186 // 例子:   
187 // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
188 // (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
189 Date.prototype.Format = function(fmt)   
190 { //author: meizz   
191   var o = {   
192     "M+" : this.getMonth()+1,                 //月份   
193     "d+" : this.getDate(),                    //日   
194     "h+" : this.getHours(),                   //小时   
195     "m+" : this.getMinutes(),                 //分   
196     "s+" : this.getSeconds(),                 //秒   
197     "q+" : Math.floor((this.getMonth()+3)/3), //季度   
198     "S"  : this.getMilliseconds()             //毫秒   
199   };   
200   if(/(y+)/.test(fmt))   
201     fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
202   for(var k in o)   
203     if(new RegExp("("+ k +")").test(fmt))   
204   fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
205   return fmt;   
206 }