Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. (function toggleBox() {
  2. "use strict";
  3.  
  4. /*
  5. * @param handler - The trigger for execute the action. e.g.: <button>
  6. * @param listener - The event type. e.g.: 'click', 'mouseover', etc...
  7. * @param object - The element that will toggle a class.
  8. * @param className - CSS class name to toggle.
  9. * @dismiss boolean - When clicking outside the @param object, it will remove the class.
  10. */
  11. function toggleClass(handler, listener, object, className, dismiss) {
  12. dismiss = dismiss || false;
  13. handler.addEventListener(listener, function(event) {
  14. object.classList.toggle(className);
  15. event.stopPropagation();
  16. }, true);
  17. if (dismiss == true) {
  18. document.addEventListener("click", function(event) {
  19. if (!object.contains(event.target)) {
  20. object.classList.remove(className);
  21. }
  22. }, false);
  23. } else {
  24. return false;
  25. }
  26. }
  27.  
  28.  
  29. // Examples
  30. //
  31. // toggleClass(actionsButton, "click", actionsContainer, "show", true);
  32. // toggleClass(drawerButton, "click", navigationDrawer, "toggle", true);
  33. // toggleClass(navigationDrawer.querySelector("#close-shortcuts-drawer"), "click", navigationDrawer, "toggle", false);
  34. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement