Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写jquery返回函数 我在我构造的中间使用DIV动画创建了一个菜单。当我点击“打开”按钮时,显示div菜单扩展到右侧某个固定宽度。但我的要求是在展开菜单后,而不是打开需要附加的“关闭”字。当点击“关闭”时,div菜单应该折叠到上一个宽度,“打开”而不是关闭_Jquery - Fatal编程技术网

如何编写jquery返回函数 我在我构造的中间使用DIV动画创建了一个菜单。当我点击“打开”按钮时,显示div菜单扩展到右侧某个固定宽度。但我的要求是在展开菜单后,而不是打开需要附加的“关闭”字。当点击“关闭”时,div菜单应该折叠到上一个宽度,“打开”而不是关闭

如何编写jquery返回函数 我在我构造的中间使用DIV动画创建了一个菜单。当我点击“打开”按钮时,显示div菜单扩展到右侧某个固定宽度。但我的要求是在展开菜单后,而不是打开需要附加的“关闭”字。当点击“关闭”时,div菜单应该折叠到上一个宽度,“打开”而不是关闭,jquery,Jquery,animate函数有一个完整的参数,您可以在其中提供回调。 此回调将在事件完成后触发。 在此回调中,您可以编辑您的值 将li的类别更改为“关闭”。 另外:使用“活动”绑定。这一个即使在动态变化的html中也能工作 CSS: JS: $(“.open”).live('click',function(){ $(“#导航菜单”)。设置动画({ 宽度:“82px” }, { 队列:false, 持续时间:500, 完成:函数(){ $(“.open”).text(“”); var$this=$(“

animate函数有一个完整的参数,您可以在其中提供回调。

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

将li的类别更改为“关闭”。 另外:使用“活动”绑定。这一个即使在动态变化的html中也能工作

CSS:

JS:

$(“.open”).live('click',function(){
$(“#导航菜单”)。设置动画({
宽度:“82px”
}, {
队列:false,
持续时间:500,
完成:函数(){
$(“.open”).text(“”);
var$this=$(“.close”);
$this.removeClass();
$this.addClass(“打开”);
}
});
});​

首先感谢您的回答,但我只是把代码放在小提琴上,但它不起作用。我只是凭空写的。我更新了我的代码。测试你的小提琴:)谢谢你。。。“关闭”文本即将出现,但再次单击“关闭”后,它应转到“打开…”。。。。希望你能理解我的想法。如您所见,animate函数将窗口设置为84px。因为它已经是84px了,所以你什么也看不到。我的建议是为$(“.close”)创建另一个单击事件。单击()并将您的li类更改为“close”。
.open{
    cursor:pointer;
    background:black;
    color:white;
}
.close {
    cursor:pointer;
    background:black;
    color:white; 
}
$(".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");
        }
    });
});​