forked from hussainmuzzamil/jQuery.ish
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.ish.js
83 lines (83 loc) · 2 KB
/
jquery.ish.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
var $ = function(id) {
var o = new $.fn.init(id).elm,
i;
for (i in $.fn) {
if (i != 'init' || i != 'elm') {
o[i] = ($.fn[i]);
}
}
return o;
};
$.trim = function(s){
return s.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
};
$.fn = {
init: function(el) {
if (typeof el == 'string') {
$.fn.elm = document.querySelectorAll(el);
} else if (el.length) {
$.fn.elm = el;
} else {
$.fn.elm = [el];
}
},
hasClass: function(cl) {
var i;
for (i = 0; i < this.length; i++) {
if(this[i].className.match(new RegExp('(\\s|^)' + cl + '(\\s|$)'))) {
return true;
}
}
return false;
},
addClass: function(cl) {
var i;
for (i = 0; i < this.length; i++) {
if (!this[i].className.match(new RegExp('(\\s|^)' + cl + '(\\s|$)'))) {
this[i].className = this[i].className + " " + cl;
}
}
return this;
},
toggleClass: function(cl) {
if (this.hasClass(cl)) {
this.removeClass(cl);
} else {
this.addClass(cl);
}
return this;
},
removeClass: function(cl) {
var i;
for (i = 0; i < this.length; i++) {
this[i].className = $.trim(this[i].className.replace(new RegExp('(\\s|^)' + cl + '(\\s|$)'),' '));
}
return this;
},
toggle: function() {
var i;
for (i = 0; i < this.length; i++) {
if(window.getComputedStyle(this[i]).display == 'none'){
this[i].style.display = 'block';
} else {
this[i].style.display = 'none';
}
}
return this;
},
hide: function() {
var i;
for (i = 0; i < this.length; i++) {
this[i].style.display = 'none';
}
return this;
},
show: function() {
var i;
for (i = 0; i < this.length; i++) {
this[i].style.display = 'block';
}
return this;
}
};
$.fn.init.prototype = $.fn;