Теряется минус
добрый день, делаю прокрутку с 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, время: 22:58. |