Теряется минус
добрый день, делаю прокрутку с 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;} ); } ); }) |
а если без
Цитата:
$(function() { $(document).on('mousewheel', function(event) { var top = $(window).scrollTop() - (event.originalEvent.wheelDelta ); event.preventDefault(); $('html, body').stop().animate({ scrollTop: top }, 800); }) }) |
Цитата:
Цитата:
|
да, я обнуляю, если анимация закончена, а если я в процессе анимации ещё подкручиваю колёсиком, то как быть, чтобы скроллило уже в новую точку? я это и пытался сделать.
Я так и делал сначала, как вы скинули.) |
косяк в том, что при такой прокрутке, если я буду быстро крутить колёсиком, то прокрутка будет медленнее даже, чем так, так как (на сколько я понимаю), будет останавливаться старая анимация, и начинаться новая, на тот-же самый шаг, а, если я допустим прокрутил колёсико на 2 щелчка, то расстояние на которое я прокрутил, должно увеличиться в 2 раза, на 3, в 3 раза и т.д.
|
xTODx,
вы пробовали пост 2? |
ну, собственно, да.
Вот результат |
xTODx,
ок! я, видимо не понимаю, что вы хотите сделать и каким должен быть результат. |
ризультат близок к тому, что есть, только(возможно это у меня только так), что я поворачиваю колёсико на 1 щелчёк, что на 2 сразу, результат не большой. как-то так. ну на 1-2 это не заметно, но если быстро крутить колёсико, хочется оказаться куда ниже, а результат не тот, что хочется(
|
xTODx,
непонимаю |
Часовой пояс GMT +3, время: 05:49. |