Kein Scrollen bei Seitenwahl

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
Benutzeravatar
IMC
Mitglied
Beiträge: 539
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Kein Scrollen bei Seitenwahl

Beitrag von IMC »

Da mir das runterscrollen bei der Auswahl einer neuen Seite lästig wurde habe ich ein kleinen Codeschnipsel gemacht der beim blättern die Seite auf der alten Position behält. Er muss lediglich in dem Footer eingebunden werden.

Code: Alles auswählen

<script>
	var siteURL = window.location.search;
	var siteUrlParams = new URLSearchParams(siteURL);
	var paginationButtons = document.querySelectorAll('.action-bar .pagination .button');
	
	for (i = 0; i < paginationButtons.length; i++) {
		paginationButtons[i].addEventListener('mousedown', function(e) {
			let yPos = parseInt(window.scrollY);
			let paginationURL = this.getAttribute('href');
			let result = paginationURL.indexOf("?");
			let paginUrlPara = paginationURL.substr(result);
			let searchParams = new URLSearchParams(paginUrlPara);

			searchParams.set('ypos', yPos);
			this.setAttribute('href', location.origin + location.pathname + '?' + decodeURIComponent(searchParams.toString()));
		});
	}
		
	if (siteUrlParams.has('ypos')) {
		window.scroll(0, siteUrlParams.get('ypos'));
	}
</script>
Edit: kleine Änderung im Code
Gruß, Thorsten
Antworten

Zurück zu „Extension Bastelstube“