Código Javascript :
define(function() { var _isOpen, _toggleButton, _target; function init(toggle, target, isOpen) { _toggleButton = document.getElementById(toggle); _target = document.getElementById(target); _isOpen = isOpen; console.log(_target.id + " " + _toggleButton.id); _toggleButton.addEventListener('click', function(e) { e.preventDefault(); if(_isOpen) { removeClass(_target, 'open'); addClass(_target, 'close'); } else { removeClass(_target, 'close'); addClass(_target, 'open'); } _isOpen = !_isOpen; }, false); } function hasClass(el, className) { return el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')); } function addClass(el, className) { el.className += " " + className; } function removeClass(el, className) { if(hasClass(el, className)) { var exp = new RegExp('(\\s|^)' + className + '(\\s|$)'); el.className = el.className.replace(exp, ""); } } function isOpen() { return _isOpen; } return { init: init, isOpen: isOpen } });
y luego lo llamo
Código Javascript :
require(['js/modulos/toggle'], function (toggle) { var toggleNav = toggle.init("toggle-menu", "toggle-dropdown", true); var togglePlayer = toggle.init("toggle-player", "player", false); });
el problema es que el toggleNav afecta al toggle-player y el togglePlayer funciona correctamente, es como si a la segunda vuelta el target primero se perdiera y quedara el ultimo..alguna idea de como solucionar esto.