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.
