Javascript 布尔变量不会阻止函数触发

Javascript 布尔变量不会阻止函数触发,javascript,jquery,html,Javascript,Jquery,Html,我的标记中有以下图像: <img id="header_img" src="header_img.png"> 以及: 因此,如果图像悬停,我不想再启动.mousemove()函数,因此我通过将布尔触发器设置为false来避免它。不幸的是,它不起作用。它甚至会记录我的false,但第一个函数会一直启动。为什么? 提前谢谢 函数已绑定,因此需要解除绑定: function bodyMouseMoveFunction(evt) { //your function here } j

我的标记中有以下图像:

<img id="header_img" src="header_img.png">
以及:

因此,如果图像悬停,我不想再启动
.mousemove()
函数,因此我通过将布尔
触发器设置为false来避免它。不幸的是,它不起作用。它甚至会记录我的
false
,但第一个函数会一直启动。为什么?


提前谢谢

函数已绑定,因此需要解除绑定:

function bodyMouseMoveFunction(evt) {
    //your function here
}
jQuery('body').on('mousemove', bodyMouseMoveFunction);

jQuery('#header_img').hover(function() { 
  jQuery('body').off('mousemove');
  jQuery(this).attr('src','rotate.gif')}, function() { 
  jQuery('body').on('mousemove', bodyMouseMoveFunction);
  jQuery(this).attr('src','header_img.png')
});
或移动您的触发检查:

jQuery('body').mousemove(function(evt) {
  if (trigger) {
    var window_width = jQuery(window).width();
    var mouse_x = evt.pageX;
    var mouse_y = evt.pageY;
      if (mouse_x <= window_width/3) {
        jQuery('#header_img').attr('src', 'left.png');
      }
      if (mouse_x >= window_width/3) {
        jQuery('#header_img').attr('src', 'right.png');
      }
   }
}); 
jQuery('body').mousemove(函数(evt){
如果(触发器){
var window_width=jQuery(window).width();
var mouse_x=evt.pageX;
var mouse_y=evt.pageY;
如果(鼠标x=窗口宽度/3){
jQuery('#header_img').attr('src','right.png');
}
}
}); 

但是第一个函数一直在启动。为什么?
–因为mousemove事件在开始时只绑定一次,然后保持绑定状态。如果你不再需要它了…那就解开它。
function bodyMouseMoveFunction(evt) {
    //your function here
}
jQuery('body').on('mousemove', bodyMouseMoveFunction);

jQuery('#header_img').hover(function() { 
  jQuery('body').off('mousemove');
  jQuery(this).attr('src','rotate.gif')}, function() { 
  jQuery('body').on('mousemove', bodyMouseMoveFunction);
  jQuery(this).attr('src','header_img.png')
});
jQuery('body').mousemove(function(evt) {
  if (trigger) {
    var window_width = jQuery(window).width();
    var mouse_x = evt.pageX;
    var mouse_y = evt.pageY;
      if (mouse_x <= window_width/3) {
        jQuery('#header_img').attr('src', 'left.png');
      }
      if (mouse_x >= window_width/3) {
        jQuery('#header_img').attr('src', 'right.png');
      }
   }
});