如何检测div光标来自哪一边(jQuery) ?



我想检测div光标的哪一边(上,左,右,下)来自和离开。如果它是左边的,我想让里面的文字也移到左边

令人惊讶的是,这里有一个只有css的定向悬停实现(我没有写这个,在Twitter上找到的):http://jsfiddle.net/kizu/zfUyN/。它不能在IE中工作,但它可能会给您一些在JQuery中实现它的替代方法。

鼠标事件给出坐标,您可以在jquery中获得event.pageXevent.pageY,将其与div中点的位置进行比较,应该可以得到您来自的位置。

onmouseout获取鼠标坐标并与div.offset[Top|Left|Left+Width|Top+Height]进行比较

通过检查鼠标在mouseleave()处理程序中的位置,然后将其与元素的位置和尺寸进行比较,可以相对容易地做到这一点。

添加4个绝对位置div,这些div非常窄并且像空格符一样空白。将它们定位为在主中心div周围的一个正方形,并给它们id。从那里,只需使用onmouseover事件发送数据到一个变量,所有4div mouseover句柄函数都可以重置。

在下面的示例

lowerdiv.onmouseover = function () { yourResults = "came from bottom" }
upperdiv.onmouseover = function () { yourResults = "came from top" }
leftdiv.onmouseover = function () {  yourResults = "came from left" }
rightdiv.onmouseover = function () { yourResults = "came from right" }
centerElement.onmouseover = function () { displayResults.innerHTML = yourResults }
centerElement.onmouseout = function () { displayResults.innerHTML = "" }

这是初学者。添加if语句来检查鼠标是否在centerElement上,或者是否使滚动函数从上、下、左或右退出。

最新更新