当您将鼠标悬停在日历控件中的某一天时,我正在尝试显示工具提示。
我正在分别使用mouseenter / mouseleave事件来fadeIn / fadeOut。这很有效。
然而,我的问题是,因为它是一个日历,会有很多天,当我将鼠标移动整个星期时,fadeIn / fadeOut(或显示/隐藏)将全部按顺序发生,直到所有事件完成......有一些滞后因为它们按顺序发生。
防止这种情况发生的最佳方法是什么?
答案 0 :(得分:2)
查看这个名为hoverIntent的jQuery插件......它应该可以解决您的问题。
答案 1 :(得分:1)
如果你周围有一个父容器,你可以对该项目产生影响。
答案 2 :(得分:1)
我建议您只处理一周的事件,然后检测选择了哪一天
答案 3 :(得分:0)
我会添加一些逻辑来检查是否已经显示了工具提示,如果是,请移动它并更新文本。
困难的部分是添加逻辑以确保fadeOut
仅在文本未更改时才会发生。首先要做的是使用setTimeout
在淡入淡出之前添加一个小延迟。其次,创建一个每次更新工具提示文本时递增的变量。最后,确保每次调用setTimeout都包含整数的副本,并在调用淡入淡出之前检查整数是否未更改。