aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/utils.js
diff options
context:
space:
mode:
authorAlbin Larsson <mail@albinlarsson.com>2018-05-09 22:08:09 +0200
committerAlbin Larsson <mail@albinlarsson.com>2018-05-16 23:21:06 +0200
commit4db6bf7a2e2256c20c885a536fadd4a5f4433469 (patch)
tree2d1d4392af8e26e2f8de623c38e28397e3fb39e0 /src/js/utils.js
parent28826f6402e0e1a50c9f06598b0bfe709019a3d0 (diff)
downloadplyr-4db6bf7a2e2256c20c885a536fadd4a5f4433469.tar.lz
plyr-4db6bf7a2e2256c20c885a536fadd4a5f4433469.tar.xz
plyr-4db6bf7a2e2256c20c885a536fadd4a5f4433469.zip
Make utils.toggleClass() compatible with Element.classList.toggle (rename toggle argument to 'force' and make it optional)
Diffstat (limited to 'src/js/utils.js')
-rw-r--r--src/js/utils.js14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/js/utils.js b/src/js/utils.js
index 5c4934a1..0a1c8fcc 100644
--- a/src/js/utils.js
+++ b/src/js/utils.js
@@ -390,14 +390,16 @@ const utils = {
}
},
- // Toggle class on an element
- toggleClass(element, className, toggle) {
+ // Mirror Element.classList.toggle, with IE compatibility for "force" argument
+ toggleClass(element, className, force) {
if (utils.is.element(element)) {
- const contains = element.classList.contains(className);
-
- element.classList[toggle ? 'add' : 'remove'](className);
+ let method = 'toggle';
+ if (typeof force !== 'undefined') {
+ method = force ? 'add' : 'remove';
+ }
- return (toggle && !contains) || (!toggle && contains);
+ element.classList[method](className);
+ return element.classList.contains(className);
}
return null;