0

我有一个导航元素,onmouseover 我想禁用附近图像的 onmouseover。

我在想我只是循环并收集图像并将它们的 onmouseover 设置为 '' 然后 nav 元素的 onmouseout 将图像 onmouseover 设置回原来的样子。

有没有更好的方法可以通过导航元素的 onmouseover/onmouseout 来关闭/打开图像 onmouseover 功能?

4

3 回答 3

3

为什么不执行以下操作:

  1. 将所有图像上的所有onmouseover事件指向一个函数
  2. 将所有图像上的所有onmouseout事件指向一个函数
  3. 在全局范围内有一个变量,比方说var imageInFocus = null;
  4. 每当您输入 function:
    if(imageInfocus == null)时,为其分配当前图像名称,并处理该图像。
    否则,如果它不为空,则忽略。
    这样,您一次只能处理一张图像。
  5. on onmouseout,只需将 null 分配回imageInFocus,因此它将可用于下一张图像。
于 2009-08-19T13:46:58.403 回答
0

好吧,我认为所有这些事情都会奏效,但结果证明这不是我的问题。问题是图像鼠标悬停功能中设置的某些内容在图像滚动后仍然会影响导航,即使它们不再处于活动状态、正在显示或没有鼠标悬停事件。

不过谢谢。

于 2009-08-19T15:35:41.803 回答
0

使用 jQuery。这样的事情应该做:

$("#id_of_your_element").hover(function(){
    $(".other_elements_class").unbind("mouseover").unbind("mouseover");
}, function(){
    $(".other_elements_class").hover(your_mouseover_function, your_mouseout_function);
});
于 2009-08-19T13:45:07.657 回答