Seite 1 von 1

Kein Scrollen bei Seitenwahl

Verfasst: 20.11.2022 16:58
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