启动“ mousemove”功能后,我无法停止其运行。
正如您将在下面的代码中看到的那样,如果视口宽度更改为小于1350px,则我正在使用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();