如何编写jquery返回函数

时间:2012-03-30 10:34:28

标签: jquery

我创建了一个菜单,使用div动画在我已经结构化的中间。当我点击打开按钮时,div菜单正在向右侧扩展一些固定宽度。但我的要求是在扩展菜单而不是打开“关闭”字后需要追加。当点击“关闭”div菜单应该折叠到前一个宽度,“打开”将来而不是关闭。

1 个答案:

答案 0 :(得分:1)

animate函数有一个完整的参数,您可以在其中提供回调。 http://api.jquery.com/animate/

事件完成后将触发此回调。 在此回调中,您可以编辑您的值。

将李的班级改为“关闭”。 另外:使用'live'绑定。即使使用动态更改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");
        }
    });
});​