Я хотел бы прокручивать вверх или вниз по окну, пока мышь находится над определенным элементом.JS Scroll window while mouseover
Что я до сих пор в основном работает, но это не «гладкий». Он начинается и останавливается, не выглядит красивым. Вы не знаете, как сделать более постоянную плавную прокрутку?
Это мой код:
doScroll = 0;
$(".helperDown").mouseenter(function() {
scrollHandler = setInterval(function() {
console.log('scrolling down...');
if(doScroll == 0) {
doScroll = 1;
$("html, body").animate({scrollTop: fromTop+50}, 200, 'linear', function() {
doScroll = 0;
});
}
}, 200);
});
$(".helperDown").mouseleave(function() {
clearInterval(scrollHandler);
});
.helperDown
область, где мышь должна быть, чтобы начать прокрутку. fromTop
всегда пересчитывается после события прокрутки.
Первое исправление будет повторно запустить анимацию непосредственно внутри анимации обратного вызова и удаления внешнего 'Interval' – Saba