我的网站上有一个基本的消息系统,它将消息排队/附加到一个浮动在页面顶部的div。每条消息都会在X秒后淡出,但是如果将鼠标悬停在该消息上,则会暂停它的淡出时间,然后在mouseleave上它应该恢复。
所以我试图附加一个div并附加一个计时器使其淡出,但是在鼠标上它将暂停淡出并在mouseleave上它将恢复它。还有一个关闭按钮,它会立即消失。
我已经尝试了delay()
但是没有办法控制它,我似乎无法用setTimeout()
来解决这个问题,因为我无法想出如何将计时器附加到div创造了。
答案 0 :(得分:0)
您需要将计时器ID添加到全局范围内的对象,例如window.timers
,并且在鼠标悬停时,您遍历所有活动计时器clearTimeout()
并保存{{1} value - 这与DOM就绪时间戳和mouseover事件的时间戳有所不同。在mouseout上,您使用timeRemaining
值而不是初始时间值再次设置所有计时器。