2012-03-30 67 views
0

我已經創建了一個菜單,使用div動畫在中間結構化。當我點擊打開按鈕時,div菜單正在向右側擴展一些固定寬度。但我的要求是擴大菜單後,而不是打開「關閉」的話需要追加。當點擊「關閉」div菜單應該摺疊到先前的寬度和「開放」將來而不是關閉。如何寫jQuery返回函數

回答

1

animate函數有一個完整的參數,您可以在其中提供回調。

該回調將在事件完成後觸發。 在此回調中,您可以編輯您的值。

將您的li的類更改爲'close'。 另外:使用'活'的綁定。即使在動態更改html的情況下,這一個也能工作

CSS:

.open{ 
    cursor:pointer; 
    background:black; 
    color:white; 
} 
.close { 
    cursor:pointer; 
    background:black; 
    color:white; 
} 

JS: 都感謝你的答案

$(".open").live('click', function() { 
$("#navMenu").animate({ 
    width: "82px" 
}, { 
    queue: false, 
    duration: 500, 
    complete: function() { 
     $(".open").text("<- CLOSE"); 
     var $this = $(".open"); 
     $this.removeClass(); 
     $this.addClass("close"); 
    } 
}); 
}); 

$(".close ").live('click', function() { 
$("#navMenu ").animate({ 
     width: "50px" 
    }, { 
     queue: false, 
     duration: 500, 
     complete: function() { 
      $(".close").text("OPEN - >"); 
      var $this = $(".close"); 
      $this.removeClass(); 
      $this.addClass("open"); 
     } 
    }); 
});​ 
+0

第一,但只是我把我的代碼,我放在我的小提琴,但它不工作。 – user1254422 2012-03-30 10:56:29

+0

我只是憑空寫下它。我更新了我的代碼。在你的小提琴測試:) – Yoeri 2012-03-30 11:03:52

+0

謝謝你...關閉文本來了,但點擊後再次關閉它應該去打開....希望你可以理解我當然知道 – user1254422 2012-03-30 11:07:17