Gebruiker:Jillis Roosken/common.js: verschil tussen versies

Uit Christipedia
Toegevoegde inhoud Verwijderde inhoud
(Nieuwe pagina aangemaakt met '→‎* Inklapbare div: var UitklapDivHide = 'Inklappen'; var UitklapDivShow = 'Uitklappen'; // shows and hides content of Uitklap divs // Parameters: // indexUitklapDiv: the index of Uitklap div to be toggled var toggleUitklapDiv = window.toggleUitklapDiv = function(indexUitklapDiv) { var UitklapToggle = document.getElementById('UitklapToggle' + indexUitklapDiv); var UitklapFrame = document.getElementById('UitklapFrame' + indexUitklapDiv); var UitklapCh...')
 
Geen bewerkingssamenvatting
Regel 1: Regel 1:
document.getElementById('mw-dismissable-notice-body').innerHTML = "";

/*
/*
* Inklapbare div
* Inklapbare div

Versie van 17 jan 2023 13:27

document.getElementById('mw-dismissable-notice-body').innerHTML = "";

/*
 * Inklapbare div
 */
var UitklapDivHide = 'Inklappen';
var UitklapDivShow = 'Uitklappen';
 
// shows and hides content of Uitklap divs
// Parameters:
// indexUitklapDiv: the index of Uitklap div to be toggled
var toggleUitklapDiv = window.toggleUitklapDiv = function(indexUitklapDiv) {
	var UitklapToggle = document.getElementById('UitklapToggle' + indexUitklapDiv);
	var UitklapFrame = document.getElementById('UitklapFrame' + indexUitklapDiv);
	var UitklapChild;

	if (!UitklapFrame || !UitklapToggle) {
		return false;
	}
 
	// if shown now
	if (UitklapToggle.firstChild.data === UitklapDivHide) {
		for (
			UitklapChild = UitklapFrame.firstChild;
			UitklapChild !== null;
			UitklapChild = UitklapChild.nextSibling
		) {
			if (UitklapChild.className === 'UitklapContent') {
				UitklapChild.style.display = 'none';
			}
			if (UitklapChild.className === 'UitklapToggle') {
				UitklapChild.firstChild.data = UitklapDivShow;
			}
		}

	// if hidden now
	} else if (UitklapToggle.firstChild.data === UitklapDivShow) {
		for (
			UitklapChild = UitklapFrame.firstChild;
			UitklapChild !== null;
			UitklapChild = UitklapChild.nextSibling
		) {
			if (UitklapChild.className === 'UitklapContent') {
				UitklapChild.style.display = 'block';
			}
			if (UitklapChild.className === 'UitklapToggle') {
				UitklapChild.firstChild.data = UitklapDivHide;
			}
		}
	}
};

// adds show/hide-button to navigation bars
function createUitklapDivToggleButton() {
	var indexUitklapDiv = 0;
	var i, u, UitklapFrame;
	// iterate over all < div >-elements
	for (i = 0; (UitklapFrame = document.getElementsByTagName('div')[i]); i++) {
		// if found a navigation bar
		if (UitklapFrame.className === 'UitklapFrame' || UitklapFrame.className === 'UitklapFrameNoClear') {

			indexUitklapDiv++;
			var UitklapToggle = document.createElement('a');
			UitklapToggle.className = 'UitklapToggle';
			UitklapToggle.setAttribute('id', 'UitklapToggle' + indexUitklapDiv);
			$(UitklapToggle).data('mwUitklapFrameIndex', indexUitklapDiv).click(function (e) {
				toggleUitklapDiv($(this).data('mwUitklapFrameIndex'));
				e.preventDefault();
			});

			var UitklapToggleText = document.createTextNode(UitklapDivHide);
			UitklapToggle.appendChild(UitklapToggleText);

			// add NavToggle-Button as first div-element
			// in < div class="UitklapFrame" >
			UitklapFrame.insertBefore(UitklapToggle, UitklapFrame.firstChild);
			UitklapFrame.setAttribute('id', 'UitklapFrame' + indexUitklapDiv);
		}
	}
	for (u = 1; u <= indexUitklapDiv; u++) {
		toggleUitklapDiv(u);
	}
}

$(createUitklapDivToggleButton);