• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Płynne "gładkie" przewijanie strony

0 głosów
153 wizyt
pytanie zadane 11 stycznia w JavaScript, jQuery, AJAX przez karolek110199 Nowicjusz (190 p.)

Posiadam taki oto kod na płynne przewijanie strony, niestety "przeskok" jest różny w zależności od przeglądarki (Firefox, Chrome). Da się to jakoś naprawić, ewentualnie jakieś pluginy, które mi to zastąpił? Szukałem sporo, ale żadne parallax scroll czy one page to nie jest to co tutaj:
 

if (window.addEventListener) window.addEventListener('DOMMouseScroll', wheel, false);
	window.onmousewheel = document.onmousewheel = wheel;

	function wheel(event) {
		var delta = 0;
		if (event.wheelDelta) delta = event.wheelDelta / 30;
		else if (event.detail) delta = -event.detail / 3;

		handle(delta);
		if (event.preventDefault) event.preventDefault();
		event.returnValue = false;
	}

        var end = null;
	var interval = null;
	var goUp = true;

	function handle(delta) {
		var animationInterval = 20; //lower is faster
		var scrollSpeed = 20; //lower is faster

		if (end == null) {
			end = $(window).scrollTop();
		}
		end -= 20 * delta;
		goUp = delta > 0;

		if (interval == null) {
			interval = setInterval(function () {
				var scrollTop = $(window).scrollTop();
				var step = Math.round((end - scrollTop) / scrollSpeed);
				if (scrollTop <= 0 || 
					scrollTop >= $(window).prop("scrollHeight") - $(window).height() ||
					goUp && step > -1 || 
					!goUp && step < 1 ) {
						clearInterval(interval);
						interval = null;
						end = null;
				}
				$(window).scrollTop(scrollTop + step );
			}, animationInterval);
		}
	}



 

komentarz 11 stycznia przez CzikaCarry Maniak (56,260 p.)
tak btw to w Windowsie 10 u mnie na chromie jest defaultowo płynne przewijanie :D
komentarz 11 stycznia przez operator Stary wyjadacz (10,660 p.)
Brakuje komentarzy. Co autor miał na myśli?
komentarz 11 stycznia przez karolek110199 Nowicjusz (190 p.)
Kod z internetu, dlatego bez komentarzy, proponuję przetestować, żeby zobaczyć działanie.

1 odpowiedź

0 głosów
odpowiedź 11 stycznia przez karolek110199 Nowicjusz (190 p.)
 
Najlepsza
Dla Firefox delta z funkcje wheel musi być pomnożona razy 12

Podobne pytania

0 głosów
1 odpowiedź 73 wizyt
0 głosów
2 odpowiedzi 716 wizyt
0 głosów
0 odpowiedzi 53 wizyt

39,758 zapytań

78,208 odpowiedzi

153,713 komentarzy

18,803 pasjonatów

Przeglądających: 102
Pasjonatów: 1 Gości: 101

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...