我有几个非常相似的页面。他们有一些javascript翻转链接(图像是预加载的,然后有一个调用图像交换函数的onMouseOver事件,最后,有一个恢复原始图像的onMouseOut事件。)
当用户点击指向另一个页面的翻转链接时,该翻译链接在完全相同的位置上具有翻转链接,新页面上的图像将在“过度”状态下加载。在Chrome和Safari中并非如此(IE和Firefox按预期工作)。
所以...在页面加载时,有没有办法检查鼠标是否已经悬停图像以立即交换它?像“OnMouseAlreadyOver”这样的东西?
谢谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
移动对象的边界时会触发onmouseover =脚本[CT]
当指针设备移动到元素上时,会发生onmouseover事件。此属性可用于大多数元素。onmousemove =脚本[CT]
当指针设备在元素上方移动时,会发生onmousemove事件。此属性可用于大多数元素。
mouseover
。当鼠标已经在元素上时会发生mousemove
。
您可能需要使用onmousemove
(甚至两者)。
答案 2 :(得分:0)
您可能需要根据元素位置和鼠标光标位置实际进行计算。
//Get Mouse Position
document.onmousemove=getMouseCoordinates;
function getMouseCoordinates(event){
ev = event || window.event;
mouseX = ev.pageX;
mouseY = ev.pageY;
}
答案 3 :(得分:0)
你不能不将一个变量传递到另一个页面或使用cookie来跟踪哪些是悬停的(如果人们确实改变了他们的鼠标位置,那么它将会被故障转移)
理论上你可以检查鼠标位置和按钮位置,但是除非事件被触发,否则无法获得鼠标位置,所以鼠标必须移动,如果它移动CSS:hover应该被触发。 / p>
这是一个小问题,我怀疑大多数人会点击一个链接,等待下一页,然后期望该链接被悬停并准备再次点击(为什么没有人会继续点击相同按钮,除非它做不同的事情)
从UX的角度来看,我想知道webkit在这里没有最好的方法,为什么将一个页面的操作移植到另一个页面。
答案 4 :(得分:0)
您可以使用document.getElementFromPoint(mouseX, mouseY)
来获取元素,但获取光标位置的唯一方法是通过事件。问题是,唯一的事件是点击和鼠标移动,这需要用户从一开始就输入,这是你要避免的。
简而言之,不,不可能使用JavaScript。你还没有使用CSS。