blob: 053d606823ae784222b137aba6a45db922eb0a5c (
plain)
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
|
SVG.extend(SVG.Element, {
// Dynamic style generator
style: function(s, v) {
if (arguments.length == 0) {
// get full style
return this.node.style.cssText || ''
} else if (arguments.length < 2) {
// apply every style individually if an object is passed
if (typeof s == 'object') {
for (v in s) this.style(v, s[v])
} else if (SVG.regex.isCss.test(s)) {
// parse css string
s = s.split(/\s*;\s*/)
// filter out suffix ; and stuff like ;;
.filter(function(e) { return !!e })
.map(function(e){ return e.split(/\s*:\s*/) })
// apply every definition individually
while (v = s.pop()) {
this.style(v[0], v[1])
}
} else {
// act as a getter if the first and only argument is not an object
return this.node.style[camelCase(s)]
}
} else {
this.node.style[camelCase(s)] = v === null || SVG.regex.isBlank.test(v) ? '' : v
}
return this
}
})
|