Выпуск отменяющего мышиного хода - PullRequest
0 голосов
/ 17 января 2019

После запуска функции mousemove я не могу остановить ее выполнение.

Как вы увидите в моем коде ниже, если ширина области просмотра изменяется менее чем на 1350 пикселей, тогда я использую jQuery(document).off('mousemove');, чтобы попытаться отсоединить, но функция mousemove продолжает работать.

Кто-нибудь может объяснить, почему и как я могу этого достичь? Я явно что-то упускаю.

var viewportWidth,
    viewportHeight;

function winResize() {

    viewportWidth = jQuery(window).width();
    viewportHeight = jQuery(window).height();   

    var mouseTimer;

    function clearTimer() {

        clearTimeout(mouseTimer);

    }

    function setTimer() {

        mouseTimer = setTimeout(function() {
            jQuery('.portfolio-onpage-details').addClass('hide');
        }, 3000);

    }

    if ( jQuery('html').hasClass('no-touch') ) {

        if ( viewportWidth > 1350 ) {

            setTimer();

            jQuery(document).on('mousemove', function() {

                jQuery('.portfolio-onpage-details').removeClass('hide');

                clearTimer();
                setTimer();

            });

        } else {

            clearTimer();

            jQuery(document).off('mousemove');
            jQuery('.portfolio-onpage-details').removeClass('hide');

        }

    }

}
jQuery(window).resize(winResize); 
winResize();
...