jQuery fadeIn fadeOut(或show / hide)问题

时间:2009-06-12 21:02:20

标签: jquery javascript-events

当您将鼠标悬停在日历控件中的某一天时,我正在尝试显示工具提示。

我正在分别使用mouseenter / mouseleave事件来fadeIn / fadeOut。这很有效。

然而,我的问题是,因为它是一个日历,会有很多天,当我将鼠标移动整个星期时,fadeIn / fadeOut(或显示/隐藏)将全部按顺序发生,直到所有事件完成......有一些滞后因为它们按顺序发生。

防止这种情况发生的最佳方法是什么?

4 个答案:

答案 0 :(得分:2)

查看这个名为hoverIntent的jQuery插件......它应该可以解决您的问题。

答案 1 :(得分:1)

如果你周围有一个父容器,你可以对该项目产生影响。

答案 2 :(得分:1)

我建议您只处理一周的事件,然后检测选择了哪一天

答案 3 :(得分:0)

我会添加一些逻辑来检查是否已经显示了工具提示,如果是,请移动它并更新文本。

困难的部分是添加逻辑以确保fadeOut仅在文本未更改时才会发生。首先要做的是使用setTimeout在淡入淡出之前添加一个小延迟。其次,创建一个每次更新工具提示文本时递增的变量。最后,确保每次调用setTimeout都包含整数的副本,并在调用淡入淡出之前检查整数是否未更改。