我是Prototype JS的新手(以及一般的javascript),我试图在用户将页面上的元素悬停半秒后显示叠加层。目前,我正在通过以下方式实现这一目标:
$$("a.tag").invoke('observe', 'mouseover', function() {
//my code here
});
此代码会在触发元素被鼠标悬停时显示叠加层,但如何添加半秒暂停?
感谢你们给我的任何帮助!
答案 0 :(得分:2)
这样做:
var timerId;
$$("a.tag").invoke('observe', 'mouseover', function() {
timerId = setTimeout(function() {
// code here
}, 500);
});
$$("a.tag").invoke('observe', 'mouseout', function() {
if (timerId) {
cancelTimeout(timerId)
timerId = null;
}
});
答案 1 :(得分:2)
我认为你可以为你的元素添加一个类waitingEndDelay
。
然后编写“show function”代码,以便仅在元素没有waitingEndDelay
类时执行。在延迟结束时删除waitingEndDelay
。