改变jQuery Div Hover Area

时间:2013-08-04 18:21:25

标签: javascript jquery html css

我有一个类似的jquery代码...当你将鼠标悬停在一个块上时,一个新的div向上滑动,一个红色的div div淡出,然后当你离开悬停区域时,div然后向下滑动并且红色块div淡入。一切正常,这里是jsFiddle:

http://jsfiddle.net/Gsghr/119/

唯一的问题是当新的div滑动显示“第一项需要切换”时,如果你的鼠标悬停在该div上,则div应保持在原位。相反,只要您的鼠标离开div区域为“item 1”灰色块div,另一个div(表示“第一项需要切换”)将会消失。

我尝试通过CSS改变div的悬停区域,但是它没有用......

#coltab li:hover + #coltab ul li, #coltab ul li:hover {
display: block;
}

也许我做错了。但同样,当你将鼠标悬停在“第一项需要切换”的div上时,它应该可以正常工作。 div应保留在原位而不是向下滑动。再次,这里是jsfiddle,http://jsfiddle.net/Gsghr/119/,任何帮助将不胜感激。 :)

此外,如果你连续多次将鼠标悬停在div上,那么就会跳跃,而且悬停的整个功能甚至可能会搞乱,如果有人能解决这个问题,或者对它有一个很棒的解释。< / em>的

2 个答案:

答案 0 :(得分:1)

更改要保持的div的z顺序,使其高于红色div。如果这在视觉上不合适,那么尝试使用具有更高z顺序的不可见div,其匹配您想要保持的div的相同大小。

跳跃只是来自悬停被调用的次数。我不知道这个问题的确切答案,但我想你可以使用“undelegate”来防止事件堆叠。

答案 1 :(得分:0)

我也是最近的Jquery爱好者,但我建议使用mouseenter和mouseleave方法。 mouseleave方法不会让事件进入子级别,并希望应该这样做。

在此处查看示例演示:http://api.jquery.com/mouseover/

Tc,Amit