mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 17:12:13 -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) {
|
||||
if (el.classList) {
|
||||
var have = el.classList.contains(cls);
|
||||
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');
|
||||
if (add == 't')
|
||||
add = !re.test(el.className);
|
||||
var re = new RegExp('\\s*\\b' + cls + '\\s*\\b', 'g'),
|
||||
n1 = 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