Tak, to jest możliwe, ale będzie to wymagało przy użyciu javascript, aby uchwycić zdarzenia przewijania, a następnie manipulować. Ten skrypt (przepraszam jQuery jest tym, co miałem) i nadpisuje zdarzenie przewijania. Następnie zastępuje go dokładnie taką samą odległością przewijania. Możesz wykonać własną matematykę, aby dostosować wartość scrollTo. Musimy sprawdzić zdarzenia kółka myszy i DOMMouseScroll, ponieważ pierwszy nie jest obsługiwany przez FF. Wydaje się, że nie ma to zastosowania w twoim przypadku, ale użytkownik może mieć liczbę linii do przewinięcia ustawioną na coś innego niż domyślne trzy. Tak więc instrukcja if oblicza odległość. Zostawiłem to tam, na wypadek, gdyby inni ludzie natknęli się na to pytanie i jest to dla nich ważne.
$('body').bind('mousewheel DOMMouseScroll', function(e) {
var scrollTo = null;
if (e.type == 'mousewheel') {
scrollTo = (e.wheelDelta * -1);
}
else if (e.type == 'DOMMouseScroll') {
scrollTo = 40 * e.detail;
}
//adjust value of scrollTo here if you like.
scrollTo = 16;
if (scrollTo) {
e.preventDefault();
$(this).scrollTop(scrollTo + $(this).scrollTop());
}
});
Po zobaczeniu odpowiedzi davina zdałem sobie sprawę, że jest to dobre tylko do przewijania myszy. Jego rozwiązanie może być lepsze dla twojej sprawy. Jeśli chcesz, możesz obsługiwać przewijanie za pomocą klawiszy strzałek lub przeciągając pasek przewijania. – mrtsherman
Jeszcze nie przeskocz pistoletu. Mój ma błąd ... – davin
Naprawiono .......... – davin