Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Теряется минус (https://javascript.ru/forum/jquery/59352-teryaetsya-minus.html)

xTODx 07.11.2015 14:37

Теряется минус
 
добрый день, делаю прокрутку с mousewheel.
в scrl - заноситься значение поворота колёсика, если кручу вниз оно отрицательное.
При прокрутке ещё, к старому значению добавляется новое, если анимация не закончена.
Только вот минус в переменной scrl теряется, кто подскажет, в чём косяк?

var scrl = 0;
$(function() {
    $(document).bind( 'mousewheel', function (e) { 
		e.preventDefault(); 
		e.stopPropagation(); 
		var rz = e.deltaY*e.deltaFactor*2;
		scrl = scrl + rz;
		var nt = $(document.body).scrollTop()-scrl;
		$(document.body).stop().animate( { 
			scrollTop : nt 
		} , 300 , 'easeInOutSine', function () {scrl = 0;} );
	} );

})

рони 07.11.2015 15:07

а если без
Цитата:

Сообщение от xTODx
jquery.mousewheel.

?
$(function() {
    $(document).on('mousewheel', function(event) {
        var top = $(window).scrollTop() - (event.originalEvent.wheelDelta );
        event.preventDefault();
         $('html, body').stop().animate({
            scrollTop: top
        }, 800);
    })

})

рони 07.11.2015 15:08

Цитата:

Сообщение от xTODx
в чём косяк?

Цитата:

Сообщение от xTODx
scrl = 0;

выже сами обнуляите

xTODx 07.11.2015 15:11

да, я обнуляю, если анимация закончена, а если я в процессе анимации ещё подкручиваю колёсиком, то как быть, чтобы скроллило уже в новую точку? я это и пытался сделать.
Я так и делал сначала, как вы скинули.)

xTODx 07.11.2015 15:13

косяк в том, что при такой прокрутке, если я буду быстро крутить колёсиком, то прокрутка будет медленнее даже, чем так, так как (на сколько я понимаю), будет останавливаться старая анимация, и начинаться новая, на тот-же самый шаг, а, если я допустим прокрутил колёсико на 2 щелчка, то расстояние на которое я прокрутил, должно увеличиться в 2 раза, на 3, в 3 раза и т.д.

рони 07.11.2015 15:27

xTODx,
вы пробовали пост 2?

xTODx 07.11.2015 15:47

ну, собственно, да.
Вот результат

рони 07.11.2015 15:54

xTODx,
ок! я, видимо не понимаю, что вы хотите сделать и каким должен быть результат.

xTODx 07.11.2015 16:03

ризультат близок к тому, что есть, только(возможно это у меня только так), что я поворачиваю колёсико на 1 щелчёк, что на 2 сразу, результат не большой. как-то так. ну на 1-2 это не заметно, но если быстро крутить колёсико, хочется оказаться куда ниже, а результат не тот, что хочется(

рони 07.11.2015 16:05

xTODx,
непонимаю


Часовой пояс GMT +3, время: 05:49.