mirror of
https://github.com/9001/copyparty.git
synced 2025-08-20 02:12:20 -06:00
optimize clmod
This commit is contained in:
parent
97c264ca3e
commit
e1eaa057f2
|
@ -179,17 +179,26 @@ function crc32(str) {
|
||||||
|
|
||||||
function clmod(el, cls, add) {
|
function clmod(el, cls, add) {
|
||||||
if (el.classList) {
|
if (el.classList) {
|
||||||
|
var have = el.classList.contains(cls);
|
||||||
if (add == 't')
|
if (add == 't')
|
||||||
add = el.classList.contains(cls) ? 0 : 1;
|
add = !have;
|
||||||
|
|
||||||
return el.classList[add ? 'add' : 'remove'](cls);
|
if (add != have)
|
||||||
|
el.classList[add ? 'add' : 'remove'](cls);
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var re = new RegExp('\\s*\\b' + cls + '\\s*\\b', 'g');
|
var re = new RegExp('\\s*\\b' + cls + '\\s*\\b', 'g'),
|
||||||
if (add == 't')
|
n1 = el.className;
|
||||||
add = !re.test(el.className);
|
|
||||||
|
|
||||||
el.className = el.className.replace(re, ' ') + (add ? ' ' + cls : '');
|
if (add == 't')
|
||||||
|
add = !re.test(n1);
|
||||||
|
|
||||||
|
var n2 = n1.replace(re, ' ') + (add ? ' ' + cls : '');
|
||||||
|
|
||||||
|
if (n1 != n2)
|
||||||
|
el.className = n2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue