比如一个div元素,当鼠标mouseover事件触发时,我想知道从上左下右哪个方向移入进去的.
展开全部
比较一下事件对象中 clientX和clientY的值,如果CX是变大说明是从左进来的,变小则是从右进来的;同理CY如果变大说明是从上进来的,变小则是从下进来的。
补充一下用onmousemove
var x2 = 0;
var y2 = 0;
oDiv.onmousemove = function(e)
{
var oEvent = e || event;
var x1 = oEvent.clientX;
var y1 = oEvent.clientY;
...//这里是判断部分,要考虑初次进入的情况我就不写了,判断最终都是要比较x1和x2的大小,y1和y2的大小
//判断完成后把获取的坐标值传给x2和y2以备下次比较
x2 = x1;
y2 = y1;
}
补充一下用onmousemove
var x2 = 0;
var y2 = 0;
oDiv.onmousemove = function(e)
{
var oEvent = e || event;
var x1 = oEvent.clientX;
var y1 = oEvent.clientY;
...//这里是判断部分,要考虑初次进入的情况我就不写了,判断最终都是要比较x1和x2的大小,y1和y2的大小
//判断完成后把获取的坐标值传给x2和y2以备下次比较
x2 = x1;
y2 = y1;
}
追问
那左上,右下这些呢?
能有具体点的例子么?
追答
左上左下右上右下 就更复杂一些
你不但需要同时比较x和y的值
还要去比较你鼠标进来的第一个坐标点和你DIV的宽或者高的二分之一关系
展开全部
HTML或JS都没有提供这个功能,无法判断移动的方向,或来自哪个方向。
不过可以提供给你一个变通的思路:
在DIV上下左右各建立一个紧邻的DIV,作为边界DIV,这样可以判断进入主DIV前,经过了哪个边界DIV,从而判断是从哪个方向进入的。
不过可以提供给你一个变通的思路:
在DIV上下左右各建立一个紧邻的DIV,作为边界DIV,这样可以判断进入主DIV前,经过了哪个边界DIV,从而判断是从哪个方向进入的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
谁说不能判断的
js能算出鼠标距离dom相对位置, 和 绝对位置
再根据鼠标的x,y坐标变化规律,就能算出是那边进来的
js能算出鼠标距离dom相对位置, 和 绝对位置
再根据鼠标的x,y坐标变化规律,就能算出是那边进来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼专家意见不错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询