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');
}
}
});