我有以下功能可以很好地显示和隐藏rails flash警报。它会显示然后暂时隐藏闪存消息,但是我想添加一个按钮以允许用户在延迟缓慢时隐藏闪光灯,但只有当我不时它才有效使用hideFlashMessage函数???
函数看起来像这样:
function showFlashMessages() {
$('#flash').delay(800).animate({"top": "+=75px"}, 200);
}
function hideFlashMessages() {
$('#flash').delay(10000).animate({"top": "-=75px"}, 300);
$('#flash').fadeOut();
}
function clickHideFlashMessages() {
$('#flash').animate({"top": "-=75px"}, 300);
$('#flash').fadeOut();
}
......他们会这样被召唤:
$(document).ready(function(){
showFlashMessages();
hideFlashMessages();
$("#closeFlash").click(function(){
clickHideFlashMessages();
});
});
感谢任何帮助。
答案 0 :(得分:1)
您非常接近......您只需要在$('#flash').stop();
点击处理程序中添加#closeFlash
即可停止hideFlashMessages
动画,然后才能启动新动画:
$("#closeFlash").click(function(){
$('#flash').stop();
clickHideFlashMessages();
});
以下是一个有效的例子:http://jsfiddle.net/p6knk/