2012-04-25 64 views
2

我有几个页面都非常相似。他们有一些JavaScript翻转链接(图像预加载,然后有一个onMouseOver事件,调用图像交换功能,最后,有一个onMouseOut事件恢复原始图像)。当页面加载后鼠标指针已经结束时触发onMouseOver

当用户单击指向具有完全相同位置上的翻转链接的另一个页面的翻转链接时,新页面上的图像预计将在“翻转”状态下加载。在Chrome和Safari中,情况并非如此(IE和Firefox按预期工作)。

所以......在页面加载,有没有办法来检查,如果鼠标悬停已经像掉它的时候了?像“OnMouseAlreadyOver”?

谢谢。

+1

只需使用css:hover即可获得更好的运气。刚刚检查此网站上的链接,悬停显示在页面加载而不移动鼠标。 – Jerry 2012-04-25 16:15:04

+0

“onMouseOver事件,调用图像交换功能” - 欢迎来到1996年! – 2012-04-25 16:27:19

回答

2

如果你使用jQuery,它没有任何问题!

http://jsfiddle.net/beuae

(不仅是按键,为divs also

事实上,jQuery是这一切都保证了很好的框架去,你想到的,跨浏览器。这个例子证实了它。

0

您可能需要根据元素位置和鼠标光标位置实际进行计算。

//Get Mouse Position 
document.onmousemove=getMouseCoordinates; 
function getMouseCoordinates(event){ 
    ev = event || window.event; 
    mouseX = ev.pageX; 
    mouseY = ev.pageY; 
} 
0

你不能没有传递变量到另一页面或使用Cookie来跟踪这是盘旋(如果人们改变他们的鼠标的位置,将故障转移)

理论上你可以检查鼠标位置和按钮位置,但是除非触发事件,否则无法获取鼠标位置,因此鼠标必须移动,并且如果移动了CSS:则应该触发悬停。

这是一个小问题,寿,我怀疑大多数人都去点击一个链接,等待下一个页面,然后期望得到徘徊该链接,并准备再次单击(为什么没有人一个保留点击同一个按钮,除非它不同的东西)

从一个UX点不知的WebKit没有最好的方法在这里,为什么端口一个页面的动作到另一个。

0

您可以使用document.getElementFromPoint(mouseX, mouseY)来获取元素,但获取光标位置的唯一方法是通过事件。问题是,唯一的事件是点击和鼠标移动,这需要用户从一开始就输入,这就是你想要避免的。

简而言之,不,JavaScript无法处理。你只剩下使用CSS了。

0

W3C standard

的onmouseover =脚本[CT]
当指示设备移动到一个元件时发生onmouseover事件。该属性可以用于大多数元素。

的OnMouseMove =脚本[CT]
当指示设备被移动,同时它是在一个元素上发生的事件的OnMouseMove。该属性可以用于大多数元素。

mouseover在移动物体的边界时被触发。当鼠标已经在元素上时发生mousemove

您可能需要使用onmousemove(或甚至两者)。

相关问题