我搜索了SO,这个问题似乎已多次被问过,但我似乎无法在我的例子中使用它。
以下是一些可以使用的代码: http://jsfiddle.net/vol7ron/w8QsZ/2/
我正在寻找的东西类似于flowplayer tooltip,其中:
我的猜测是触发器的hoverOut
应该使用setTimeout()
调用消失但有一些延迟,但是在菜单的mouseenter()
上,应该清除超时
我还是jQuery的新手,不确定在哪里存储生成的timeoutID以及在哪里调用它。
注意:相同的菜单将用于多个触发器。
更新:好的,我有点工作:here
有人可以帮我清理一下,让它更有效率。更重要的是,我不想对timeoutID使用全局变量。也许有更好的方法将它存储在对象中?
答案 0 :(得分:0)
我最近刚做过这样的事情。我会做的是
var timer = setTimeout(/*blah*/);
$('#my_selector').data('timer') = timer;
我在该元素的数据中抛出timeoutID,然后每当我需要用它做一些事情时(clearTimeout)我就可以从那里抓取它。
注意我使用了这种方法,它适用于动态数量的元素,这是我认为你想要的。如果您需要更多解释,请告诉我们!