• 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
144 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 (55,740 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 697 wizyt
0 głosów
0 odpowiedzi 53 wizyt
Obowiązuje już zaktualizowany regulamin.

Czy wiesz, że nie musisz już odświeżać strony głównej?

Lista pytań i odpowiedzi aktualizuje się automatycznie!

38,678 zapytań

76,597 odpowiedzi

149,656 komentarzy

18,091 pasjonatów

Przeglądających: 180
Pasjonatów: 1 Gości: 179

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.

...