jquery盘旋进出

时间:2011-10-25 11:00:42

标签: jquery hover mouseleave mouseenter

我在列表中有4个方框。我试图在悬停时将宽度设置为100%。它没有设置float:左边的li元素很好。当float:left设置时,右侧框上方的鼠标悬停在悬停时闪烁。

代码在这里 - http://jsfiddle.net/PsYn9/5/

如果我将鼠标悬停在方框#2上,则会闪烁。为什么会发生这种情况

4 个答案:

答案 0 :(得分:4)

当li被拉伸时,它不会与其他li重叠,而是通过推送为自己腾出空间。因此当你将鼠标悬停在第二列上的li上时,它本身就会被推动,所以你不再在它上面盘旋了。

答案 1 :(得分:0)

因为onhover div被拉伸到100%,所以导致从div1开始。这导致鼠标移出,因为鼠标没有悬停在div ...

答案 2 :(得分:0)

当你将鼠标悬停在该框上时,会触发mouseenter并将宽度设置为100%并且框会进入下方,因此鼠标不再覆盖它并且触发了mouseleave,因此宽度设置为48%并且框继续前一个位置仍然是鼠标光标,因此触发了mouseenter并将宽度设置为100%并且框会低于...

答案 3 :(得分:0)

这种行为很正常。这是因为当你将鼠标悬停在第二个盒子上时,盒子不适合容器,所以它会掉到第二行(所以float会以这种方式工作)。当盒子掉到第二排就像你停在它上面一样,它就会恢复原来的大小和位置。然后它再次在它的位置,你正在它上面徘徊,等等...这就是它闪烁的原因。

解决方案: 使容器更宽,并使用固定的盒子。