我有一个类似的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>的
答案 0 :(得分:1)
更改要保持的div的z顺序,使其高于红色div。如果这在视觉上不合适,那么尝试使用具有更高z顺序的不可见div,其匹配您想要保持的div的相同大小。
跳跃只是来自悬停被调用的次数。我不知道这个问题的确切答案,但我想你可以使用“undelegate”来防止事件堆叠。
答案 1 :(得分:0)
我也是最近的Jquery爱好者,但我建议使用mouseenter和mouseleave方法。 mouseleave方法不会让事件进入子级别,并希望应该这样做。
在此处查看示例演示:http://api.jquery.com/mouseover/
Tc,Amit