2010-11-08 203 views
2

嘿傢伙, 我喜歡jQuery的切換功能。然而目前我面臨的一個小問題,我不知道如何以最好的方式解決它。jquery切換 - 切換功能之間切換?

我有一個名爲#searchbox的div,它取決於隱藏或可見的用戶設置。

切換功能,如果我點擊一個按鈕,觸發應該.slideDown()#searchbox或.slideUp()搜索框。

//if already visible - slideDown 
//if not visible - slideUp 
$('#searchboxtrigger').toggle(
    function(){ 
    $('#searchbox').slideDown('fast'); 
    }, 
    function(){ 
    $('#searchbox').slideUp('fast'); 
    } 
); 

實際上它的偉大工程已,唯一的是,內部切換第一()函數總是最先被解僱,所以如果#searchbox已經是可見的,slidedDown應立即觸發效果基本show功能,反之亦然。

任何想法,我必須做的工作?

回答

7
$('#searchboxtrigger').click(function(){ 
    $('#searchbox').slideToggle('fast'); 
    }); 
5

更改代碼,包括stop()

說明:停在匹配元素當前正在運行的動畫。

//if already visible - slideDown 
//if not visible - slideUp 
$('#searchboxtrigger').toggle(
    function(){ 
    $('#searchbox').stop(true).slideDown('fast'); 
    }, 
    function(){ 
    $('#searchbox').stop(true).slideUp('fast'); 
    } 
);