Javascript 单击()并设置超时问题
我在页面底部有一个消息面板,通过应用负边距显示。当它打开时,我希望它(以先到者为准):Javascript 单击()并设置超时问题,javascript,jquery,Javascript,Jquery,我在页面底部有一个消息面板,通过应用负边距显示。当它打开时,我希望它(以先到者为准): 当用户单击#面板关闭时关闭(这在面板上,所以 仅在打开时可见) 或 6秒后关闭 我的代码一直工作,直到我开始反复打开和关闭它-然后计时出错。我相信如果我点击关闭面板,我需要取消设置超时,但是我无法让它工作 $("#button").click(function() { messagePanel.animate({ marginTop: '-50px' //open }, 600
$("#button").click(function() {
messagePanel.animate({
marginTop: '-50px' //open
}, 600 );
setTimeout(function(){
messagePanel.animate({
marginTop: '0px' //close
}, 600 );
},6000)
});
$('#panel-close').click(function() {
messagePanel.animate({
marginTop: '0px' //close
}, 600 );
});
感谢您的帮助 如果需要取消setTimeout事件,则需要通过setTimeout函数获取timeoutID返回值,例如
var timeoutId;
timeoutId = setTimeout(function () {...});
$('#panel').click(function() {
clearTimeout(timeoutId);
}
更多详情请参见谢谢-非常感谢!您可能还希望在鼠标悬停在通知上时该通知保持打开状态,以防有人在链接消失时单击该链接,并意外地单击通知下的某个内容。为此,在通知中添加一个onmouseover事件以清除超时,并添加一个onmouseout事件以重新设置超时it@KaeVerens-谢谢你的建议-是的,我当然也想要-但我没有任何运气。你建议我怎么做?