diff options
author | Sam Potts <sam@potts.es> | 2018-05-19 11:27:19 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-19 11:27:19 +1000 |
commit | 3bba65f2c22fe11bca7d89f8451fa1b0b5e8030e (patch) | |
tree | ab3de56cae1205b9964ecccb9dea57aa41a3695c /src/js/utils.js | |
parent | 1bab0d07b5b22230aab6e68105c8fc574add31e3 (diff) | |
parent | 37c5fbfe16ba0969b727b8359fdd04eb0bf7a021 (diff) | |
download | plyr-3bba65f2c22fe11bca7d89f8451fa1b0b5e8030e.tar.lz plyr-3bba65f2c22fe11bca7d89f8451fa1b0b5e8030e.tar.xz plyr-3bba65f2c22fe11bca7d89f8451fa1b0b5e8030e.zip |
Merge pull request #967 from friday/883
toggleControls rewrite
Diffstat (limited to 'src/js/utils.js')
-rw-r--r-- | src/js/utils.js | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/js/utils.js b/src/js/utils.js index a58d8555..13e26655 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -393,14 +393,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; |