2012-01-10 89 views
1

我有以下功能,可以很好地顯示和隱藏欄杆閃光警報。它顯示並隱藏了延遲的閃光消息,但我想添加一個按鈕以允許用戶隱藏閃光燈(如果延遲較慢),但只有當我不使用hideFlashMessage功能時? ??jQuery show/hideFlashMessages點擊功能不起作用?

的功能是這樣的:

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(); 
    }); 

}); 

任何幫助表示讚賞。

回答

1

你很近......你只需要添加$('#flash').stop();#closeFlash click處理程序停止hideFlashMessages動畫,然後才能開始新的動畫:

$("#closeFlash").click(function(){ 
    $('#flash').stop(); 
    clickHideFlashMessages(); 
    }); 

這裏有一個工作示例:http://jsfiddle.net/p6knk/

+0

謝謝,這工作完美。 – Darcbar 2012-01-14 17:21:59