2013-02-25 34 views
0

很高興見到大家。我是新手,但有點過於雄心勃勃。顯示更多/收起Div,回撥功能

我跳過一些角後做了一個演出/隱藏Div,儘管它有效,但它仍然是馬虎。延遲是有意的,因爲我無法獲得回調工作。這可能是一個問題,如果在內容框中有不可能的文本量......更不用說,爲未來的項目學習不會有什麼傷害。

所以我分享這個,要求批評,因爲它非常陳腐,並且要求如何讓回調工作在第一位。 (當然,如果需要,可以自由使用代碼)。

Here是小提琴。

$("#open").click(function() { 
    $(this).hide("fast"); 
    $("#content").delay(50).show("fold"); 
    $("#close-bottom,#close-top").delay(800).fadeIn(0); 
}); 

$("#close-bottom,#close-top").click(function() { 
    $("#close-bottom,#close-top").hide("fast"); 
    $("#content").hide("fold"); 
    $("#open").delay(300).fadeIn(0); 
}); 

回答

0

可以"fold"後添加回調作爲第二個參數,如下所示:

$("#open").click(function() { 
    $(this).hide("fast"); 
    $("#content").show("fold", function() { 
     $("#close-bottom,#close-top").fadeIn(0); 
    }); 
}); 

$("#close-bottom,#close-top").click(function() { 
    $("#close-bottom,#close-top").hide("fast"); 
    $("#content").hide("fold", function() { 
     $("#open").fadeIn(0); 
    }); 
}); 

jsfiddle demo

.show.hide文檔中的jQuery 1.4.3加入與.show([duration ] [, easing ] [, complete ])方法調用並且只支持easingcomplete callback function(這將保持默認的400持續時間)

+0

哇,非常感謝!我不斷點擊按鈕來打開和關閉它,並且愚蠢地高興它可以工作,嘿。 (我無法想象如何讓語法起作用,你是一個拯救生命的人。) – freddin 2013-02-25 08:02:24