-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
102 lines (87 loc) · 1.66 KB
/
index.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/**
* element-style
* style plugin for element
*
* @copyright 2013 Enrico Marino
* @license MIT
*/
/**
* Expose `style`
*/
module.exports = style;
/**
* style
*/
function style (element) {
/**
* Properties to ignore appending "px".
*/
var ignore = {
columnCount: true,
fillOpacity: true,
fontWeight: true,
lineHeight: true,
opacity: true,
orphans: true,
widows: true,
zIndex: true,
zoom: true
};
/**
* style
* get/set style
*
* @param {String|Object} obj CSS properties
* @return {Style} this for chaining
*/
element.prototype.style = function (obj) {
if (1 === arguments.length) {
if (typeof obj === "string") {
return this.get_style(obj);
}
return this.set_style_all(obj);
}
return this.set_style(obj, arguments[1]);
};
/**
* get_style
* get style.
*
* @param {String} key key
* @return {String} style
* @api public
*/
element.prototype.get_style = function (key) {
return this.el.style[key];
};
/**
* set_style
* set style
*
* @param {String} key key
* @return {String} style
* @api public
*/
element.prototype.set_style = function (key, value) {
if (typeof val === 'number' && !ignore[key]) {
value += 'px';
}
this.el.style[key] = value;
return this;
};
/**
* set_style_all
* set style all
*
* @param {Object} obj CSS properties
* @return {Style} this for chaining
*/
element.prototype.set_style_all = function (obj) {
var key;
for (key in obj) {
this.set_style(key, obj[key]);
}
return this;
};
return element;
}