Skip to content

Commit e5ef0fd

Browse files
committed
Update.
1 parent 4b80362 commit e5ef0fd

File tree

3 files changed

+150
-100
lines changed

3 files changed

+150
-100
lines changed

bower.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"name": "tiny.js",
3+
"version": "0.4.0",
4+
"homepage": "https://github.com/UserScript/tiny.js",
5+
"authors": [
6+
"cssmagic"
7+
],
8+
"description": "A tiny JavaScript utility library.",
9+
"main": "src/tiny.js",
10+
"moduleType": [
11+
"globals"
12+
],
13+
"keywords": [
14+
"weibo",
15+
"v5"
16+
],
17+
"license": "MIT",
18+
"ignore": [
19+
"**/.*",
20+
"**.sh",
21+
"package.json",
22+
"node_modules",
23+
"bower_components",
24+
"test"
25+
],
26+
"dependencies": {},
27+
"devDependencies": {}
28+
}

dist/tiny.min.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/tiny.js

Lines changed: 122 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,133 @@
1-
/*! Tiny.js v0.3.0 **/
1+
/*!
2+
* Tiny.js
3+
* https://github.com/UserScript/tiny.js
4+
*/
25

3-
//namespace
4-
var $ = function (s, eWrapper) {
5-
return (eWrapper || document).querySelectorAll(s);
6-
};
6+
void function () {
7+
'use strict'
78

8-
//utilties - array-like
9-
$.each = function (a, fn, context) {
10-
for (var i = 0, l = a.length; i < l; ++i) {
11-
fn.call(context || window, a[i], i, a);
9+
//namespace
10+
var $ = function (s, eWrapper) {
11+
return (eWrapper || document).querySelectorAll(s)
1212
}
13-
};
1413

15-
//utilties - str
16-
$.strstr = function (so, s) {
17-
return so.indexOf(s) > -1;
18-
};
14+
//utilities
15+
//TODO
16+
//$.extend()
17+
$.each = function (a, fn, context) {
18+
//todo: object
19+
for (var i = 0, l = a.length; i < l; ++i) {
20+
fn.call(context || window, a[i], i, a)
21+
}
22+
}
1923

20-
//dom query
21-
$.id = function (s) {
22-
return document.getElementById(s);
23-
};
24-
$.class = function (s, eWrapper) {
25-
return (eWrapper || document).getElementsByClassName(s);
26-
};
27-
$.tag = function (s, eWrapper) {
28-
return (eWrapper || document).getElementsByTagName(s);
29-
};
24+
//str
25+
$.str = {}
26+
$.str.include = function (so, s) {
27+
return so.indexOf(s) > -1
28+
}
29+
//TODO
30+
//$.str.endsWith()
31+
$.str.startsWith = function (so, s) {
32+
return so.indexOf(s) === 0
33+
}
3034

31-
//creat
32-
$.crElem = function (s) {
33-
return document.createElement(s);
34-
};
35-
$.crText = function (s) {
36-
return document.createTextNode(s);
37-
};
35+
//dom query
36+
$.id = function (s) {
37+
return document.getElementById(s)
38+
}
39+
$.cls = function (s, eWrapper) {
40+
return (eWrapper || document).getElementsByClassName(s)
41+
}
42+
$.tag = function (s, eWrapper) {
43+
return (eWrapper || document).getElementsByTagName(s)
44+
}
3845

39-
//mod dom
40-
$.insertBefore = function (e, eTarget) {
41-
eTarget.parentNode.insertBefore(e, eTarget);
42-
};
43-
$.before = function (eTarget, e) {
44-
$.insBefore(e, eTarget);
45-
};
46-
$.append = function (eWrapper, e) {
47-
eWrapper.appendChild(e);
48-
}
49-
$.appendTo = function (e, eWrapper) {
50-
$.append(eWrapper, e);
51-
}
52-
$.remove = function (e) {
53-
e.parentNode.removeChild(e);
54-
};
46+
//create
47+
$.createElem = function (s) {
48+
return document.createElement(s)
49+
}
50+
$.createText = function (s) {
51+
return document.createTextNode(s)
52+
}
5553

56-
//classname
57-
$.hasClass = function (e, s) {
58-
return $.strstr(' ' + e.className + ' ', ' ' + s + ' ');
59-
};
60-
$.addClass = function (e, s) {
61-
var so = e.className;
62-
if (!$.hasClass(so, s)) {
63-
e.className += (' ' + s);
64-
}
65-
};
66-
$.removeClass = function (e,s) {
67-
var so = e.className;
68-
if ($.hasClass(so, s)) {
69-
e.className = (' ' + so + ' ').replace(' ' + s + ' ', ' ').trim();
70-
}
71-
};
54+
//mod dom
55+
//TODO
56+
//$.after()
57+
//$.insertAfter()
58+
$.insertBefore = function (e, eTarget) {
59+
eTarget.parentNode.insertBefore(e, eTarget)
60+
}
61+
$.before = function (eTarget, e) {
62+
eTarget.parentNode.insertBefore(e, eTarget)
63+
}
64+
//TODO
65+
//$.prepend()
66+
//$.prependTo()
67+
$.append = function (eWrapper, e) {
68+
eWrapper.appendChild(e)
69+
}
70+
$.appendTo = function (e, eWrapper) {
71+
eWrapper.appendChild(e)
72+
}
73+
$.remove = function (e) {
74+
e.parentNode.removeChild(e)
75+
}
7276

73-
//style
74-
$.visible = function (e, b) {
75-
var val = b ? 'visible' : 'hidden';
76-
e.style.visibility = val;
77-
};
78-
$.hide = function (e) {
79-
e.style.display = 'none';
80-
};
81-
$.show = function (e) {
82-
e.style.display = '';
83-
};
84-
$.setStyle = function (e, prop, val) {
85-
if (v) {
86-
e.style[prop] = val;
87-
} else {
88-
e.style.cssText = prop;
89-
}
90-
};
91-
$.css = function (s) {
92-
var e = $.crElem('style');
93-
var cssText = s || $.cssText;
94-
if (cssText) {
95-
e.innerHTML = cssText;
96-
//console.log(css);
97-
$.tag('head')[0].appendChild(e);
98-
}
99-
};
100-
$.cssText = '';
77+
//class name
78+
$.hasClass = function (e, s) {
79+
return $.str.include(' ' + e.className + ' ', ' ' + s + ' ')
80+
}
81+
$.addClass = function (e, s) {
82+
var so = e.className
83+
if (!$.hasClass(so, s)) {
84+
e.className += (' ' + s)
85+
}
86+
}
87+
$.removeClass = function (e,s) {
88+
var so = e.className
89+
if ($.hasClass(so, s)) {
90+
e.className = (' ' + so + ' ').replace(' ' + s + ' ', ' ').trim()
91+
}
92+
}
93+
94+
//style
95+
$.hide = function (e) {
96+
e.style.display = 'none'
97+
}
98+
$.show = function (e) {
99+
e.style.display = ''
100+
}
101+
$.css = function (e, prop, val) {
102+
if (arguments.length === 3) {
103+
e.style[prop] = val
104+
} else {
105+
e.style.cssText = prop
106+
}
107+
}
108+
$.insertCSS = function (s) {
109+
if (!s) return false
110+
var e = $.createElem('style')
111+
e.innerHTML = s
112+
$.tag('head')[0].appendChild(e)
113+
return e
114+
}
115+
116+
//event
117+
$.on = function (e, sEvent, fn) {
118+
e.addEventListener(sEvent, fn, false)
119+
}
120+
$.off = function (e, sEvent, fn) {
121+
e.removeEventListener(sEvent, fn, false)
122+
}
101123

102-
//event
103-
$.on = function (e, sEvent, fn) {
104-
e.addEventListener(sEvent, fn, false);
105-
};
106-
$.off = function (e, sEvent, fn) {
107-
e.removeEventListener(sEvent, fn, false);
108-
};
124+
//exports
125+
if (
126+
!('jQuery' in window) &&
127+
!('Zepto' in window) &&
128+
!('$' in window)
129+
) {
130+
window.$ = $
131+
}
109132

133+
}()

0 commit comments

Comments
 (0)