MediaWiki:Vector.js
Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.
- Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
- Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
- Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
/* Todo código JavaScript escrito aquí se cargará para todos los usuarios de la apariencia Vector */
/* ==========================================================
TENARIUS RO - BOTON MENU MOVIL SIDEBAR
Pegar en MediaWiki:Vector.js
========================================================== */
(function () {
function ready(fn) {
if (document.readyState !== 'loading') {
fn();
} else {
document.addEventListener('DOMContentLoaded', fn);
}
}
ready(function () {
if (document.getElementById('tenarius-mobile-sidebar-button')) {
return;
}
var panel = document.getElementById('mw-panel');
if (!panel) {
return;
}
var button = document.createElement('button');
button.id = 'tenarius-mobile-sidebar-button';
button.type = 'button';
button.innerHTML = 'Menu';
button.setAttribute('aria-label', 'Abrir o cerrar menu de navegacion');
button.setAttribute('aria-expanded', 'false');
var overlay = document.createElement('div');
overlay.id = 'tenarius-mobile-sidebar-overlay';
function closeMenu() {
document.body.classList.remove('tenarius-sidebar-open');
button.setAttribute('aria-expanded', 'false');
button.innerHTML = 'Menu';
}
function openMenu() {
document.body.classList.add('tenarius-sidebar-open');
button.setAttribute('aria-expanded', 'true');
button.innerHTML = 'Cerrar';
}
function toggleMenu() {
if (document.body.classList.contains('tenarius-sidebar-open')) {
closeMenu();
} else {
openMenu();
}
}
button.addEventListener('click', toggleMenu);
overlay.addEventListener('click', closeMenu);
document.addEventListener('keydown', function (event) {
if (event.key === 'Escape') {
closeMenu();
}
});
panel.addEventListener('click', function (event) {
var target = event.target;
if (target && target.tagName && target.tagName.toLowerCase() === 'a') {
closeMenu();
}
});
document.body.appendChild(overlay);
document.body.appendChild(button);
});
})();