【发布时间】:2013-03-21 17:50:33
【问题描述】:
我有一个功能,当鼠标移动到屏幕左侧时,我想从页面左侧进入菜单。并且当鼠标离开左侧时滑动离开页面左侧。
问题是因为该功能总是记录我的鼠标移动,如果鼠标移动它会记录它已经过了点并不断切换菜单。我需要它只在经过某个 X 坐标时才切换菜单
JS:(编辑代码)
$("#gridcontainer").mousemove(function(e){
var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
$("span:first").text("( e.pageX, e.pageY ) : " + pageCoords);
$("span:last").text("( e.clientX, e.clientY ) : " + clientCoords);
var sideMenu = $('.side-menu');
if (e.pageX < 100 && $('.side-menu').is(":visible")){
console.log('make visible');
sideMenu.animate({"left":"-96px"}, 1000);
}
else if(!$('.side-menu').is(":visible")){
sideMenu.animate({"left":"-96px"}, 1000);
console.log('hide');
}
});
【问题讨论】:
-
当你显示菜单时,你不想动画到右边,让你的声明
sideMenu.animate({"left":"0px"}, 1000);吗?假设它开始于left:"-96px"。