2012-03-30 54 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