我有这个代码用于重叠页面的错误消息。我刚刚添加了点击监听器 - 我希望它跳过延迟并立即关闭,如果它被点击。然而,没有任何反应。如果我在点击监听器中使用.hide(),它就可以工作。但我想顺利过渡。
有什么想法吗?
// Flash messages effect
$("#FlashMessage").slideDown('250').delay(3000).slideUp('250');
// Hide flash message when clicked
$("#FlashMessage").click(function(){
$("#FlashMessage").slideUp('250');
});
答案 0 :(得分:0)
如果#FlashMessage
是一个实际的Flash对象,它可能会抓取输入而不是按预期发出事件。
我可能错了,但可能的解决方案可能是使用.focus()
而不是.click()`
尝试使用不是闪光灯的图像,并测试它是否有效。我是对的,闪光灯正在否认这一事件。
答案 1 :(得分:0)
jquery.delay无法跳过。改为使用js timeout方法
$("#FlashMessage").slideDown('250');
window.setTimeout( function(){ $("#FlashMessage").slideUp('250'); },3000);
// Hide flash message when clicked
$("#FlashMessage").click(function(){
$("#FlashMessage").slideUp('250');
});