你可以试试下面的代码。请记住,如果您不希望浏览器窗口调整大小,则可以分配$(window).width()/2
给绑定之外的变量mousemove
,以避免在每次更新时查找窗口宽度。需要使用Math.floor
orMath.ceil
来向下/向上舍入计算的水平中心以避免小数。
示例 1(水平中心是动态的。它总是会在鼠标移动时重新计算):
$(document).on('mousemove',function(e){
if((e.pageY==0) && (e.pageX==Math.floor($(window).width()/2))){
//run function
}
});
示例2(水平中心保持不变,即执行时的计算值):
var hCenter = Math.floor($(window).width()/2);
$(document).on('mousemove',function(e){
if((e.pageY==0) && (e.pageX==hCenter)){
//run function
}
});
示例 3(在窗口调整大小时更新 hCenter):
// calculate horizontal center at page load
var hCenter = Math.floor($(window).width()/2);
// update hCenter every time the window is resized
$(window).resize(function(){
hCenter = Math.floor($(window).width()/2);
});
$(document).on('mousemove',function(e){
if((e.pageY==0) && (e.pageX==hCenter)){
//run function
}
});