MediaWiki:Common.js

De Wikidebates
Ir a la navegación Ir a la búsqueda

Nota: tras guardar, quizás necesites actualizar la caché de tu navegador para ver los cambios.

  • Firefox/Safari: Mantén presionada la tecla Mayús mientras pulsas el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presiona Ctrl+Shift+R (⌘+Mayús+R en Mac)
  • Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar, o presiona Ctrl+F5
  • Opera: dirígete a Menú → Configuración (Opera → Preferencias en Mac) y luego a Privacidad y seguridad → Borrar datos de navegación → Imágenes y archivos en caché.
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */

function moveSearchBar( $content ) {
	// Sélectionner l'élément #p-search
    var pSearchElement = document.getElementById('p-search');

    // Sélectionner l'élément #mw-page-base
    var mwPageBaseElement = document.getElementById('mw-page-base');

    // Vérifier si les deux éléments existent
    if (pSearchElement && mwPageBaseElement) {
        // Déplacer #p-search avant #mw-page-base
        mwPageBaseElement.parentNode.insertBefore(pSearchElement, mwPageBaseElement);
        // Ajouter display: block à #p-search
        pSearchElement.style.display = 'block';
    }
}
mw.hook( 'wikipage.content' ).add( moveSearchBar );

$(document).ready(function() {
	// Copier le sommaire dans le menu latéral en supprimant les éléments toc-level-2
	var toc = $('#toc');
	var sidetoc = toc.clone().attr('id', 'sidetoc');
	sidetoc.find('.toclevel-2').remove();
	var panel = $('#mw-panel');
	panel.append(sidetoc);
	$('#sidetoc').hide();
});

$(window).scroll(function() {
	var breadcrumb = $(document).find('#fil-ariane');
	var mwPanelElement = $('#mw-panel');
	var mwPanelOffset = mwPanelElement.offset().top + mwPanelElement.outerHeight();
	var scrollTop = $(window).scrollTop();

	if (mwPanelOffset < scrollTop) {
		if (breadcrumb.length) {
			var breadcrumbHeight = $('#fil-ariane').height();
			var sidetocOffset = breadcrumbHeight;
			$('#sidetoc').css('top', sidetocOffset + 'px');
			$('#sidetoc').show();
		} else {
			$('#sidetoc').show();
		}
	} else {
		$('#sidetoc').hide();
	}
});

$(document).ready(function() {
	var h2Elements = $('#bodyContent h2');
	var toctextElements = $('#sidetoc .toclevel-1 a .toctext');

	function updateActiveElement() {
		var activeElementIndex = -1;
		var mouseY = $(window).scrollTop() + $(window).height() / 2;

		h2Elements.each(function(index) {
			var currentH2 = $(this);
			var nextH2 = h2Elements.eq(index + 2);

			var currentH2Offset = currentH2.offset().top;
			var nextH2Offset = nextH2.length ? nextH2.offset().top : $(document).height();

			if (currentH2Offset <= mouseY && nextH2Offset > mouseY) {
				activeElementIndex = index;
				return false; // Sortir de la boucle each
			}
		});

		// Appliquer le style aux éléments du sommaire en fonction de l'élément actif
		toctextElements.removeClass('active');
		if (activeElementIndex !== -1) {
			toctextElements.eq(activeElementIndex).addClass('active');
		}
	}

	$(window).scroll(function() {
		updateActiveElement();
	});

	$(window).mousemove(function() {
		updateActiveElement();
	});
});