Как обнаружить пользователя вручную переместить прокрутку или по сценарию в JavaScript или JQuery - PullRequest
0 голосов
/ 31 октября 2019

В Javascript я хочу определить, перемещает ли пользователь полосу прокрутки или полосу прокрутки, перемещаемую скриптом. Я написал код для перемещения панели прокрутки div, используя JavaScript. Здесь я хочу разграничить положение прокрутки, независимо от того, перемещался ли пользователь вручную или по сценарию. Я использовал приведенный ниже код. Но это обнаруживает все.

$("#log").scroll(function(e) {
    console.log("scrolling");
});

var logDiv = document.getElementById('log');

logDiv.addEventListener('DOMMouseScroll', function() {
    console.log("mouseEvent");
    userManualScroll = true; 
});

Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 31 октября 2019

Установить глобальную переменную

var userscroll = true;

Всякий раз, когда вы настраиваете положение прокрутки с помощью JS, установите для userscroll значение false перед операцией прокрутки и значение true после.

В любомфункции, которые запускаются только при пользовательской прокрутке, добавьте условие if

if (userscroll) {
   ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...