Javascript 使用2个元素的Jquery切换

Javascript 使用2个元素的Jquery切换,javascript,jquery,html,toggle,alternation,Javascript,Jquery,Html,Toggle,Alternation,这是我的脚本,我正在使用一个切换,这样我可以设置滑动菜单的动画 $("div.show-menu").click().toggle( function() { // first alternation $("#slideover").animate({ right: "512px" }, 300); $(".menu-button").h

这是我的脚本,我正在使用一个切换,这样我可以设置滑动菜单的动画

    $("div.show-menu").click().toggle(
        function() {
            // first alternation
            $("#slideover").animate({
                right: "512px"
                }, 300);
            $(".menu-button").html('close menu');


        }, function() {
            // second alternation
            $("#slideover").animate({
                right: "0"
                }, 300);
            $(".menu-button").html('open menu');

    });
虽然我真的需要切换来使用页面上的2个元素。例如,见下文

<div class="show-menu one">open menu</div> // this is element one

<div class="show-menu two">open menu</div> // this is element two
打开菜单//这是元素一
打开菜单//这是元素二
我需要它,如果元素一先点击,你可以在第一次点击时使用元素二关闭菜单。现在发生的事情是,您必须单击元素2两次,以便它关闭菜单-反之亦然

我想这是一个开关,任何帮助都会很好,谢谢

干杯 乔希

.on()
在jQuery 1.7中是新的,在本例中取代了
.bind()
,如果您使用的是jQuery<1.7,则使用
.bind()

.on()
在jQuery 1.7中是新的,在本例中取代了
.bind()
,如果您使用的是jQuery<1.7,那么使用
.bind()

怎么样

$('.show-menu').on('click', function () {
    if ($("#slideover").css("right") == '512px') {
        $("#slideover").animate({
            right: "0"
        }, 300);
        $(".menu-button").html('open menu');

    } else {
        $("#slideover").animate({
            right: "512px"
        }, 300);
        $(".menu-button").html('close menu');
    }
});
那怎么办

$('.show-menu').on('click', function () {
    if ($("#slideover").css("right") == '512px') {
        $("#slideover").animate({
            right: "0"
        }, 300);
        $(".menu-button").html('open menu');

    } else {
        $("#slideover").animate({
            right: "512px"
        }, 300);
        $(".menu-button").html('close menu');
    }
});

你这么说。如果显示元素1,则如果单击第二个菜单,它将关闭第一个元素,然后触发要显示的第二个元素,反之亦然。
。toggle
只接受一个回调函数,而不是两个:你这么说。如果显示元素1,那么如果单击第二个菜单,它将关闭第一个元素,然后触发要显示的第二个元素,反之亦然。
。toggle
只接受一个回调函数,而不是两个:这看起来很有希望,但我无法开始工作-我正在尝试获取它的jist,但可以让它运行任何动画。我写的html不正确,我不知道这是为什么。我的纽扣实际上是这样的<代码>打开菜单//这是元素一
打开菜单//这是元素二
很抱歉,又做错了<代码>打开菜单//这是元素一
关闭菜单//这是元素二
它工作了-我还没有更新到jquery 1.7.0-非常感谢!这看起来很有希望,但我无法开始工作-我试图获得它的jist,但可以让它运行任何动画。我写的html不正确,我不知道这是为什么。我的纽扣实际上是这样的<代码>打开菜单//这是元素一
打开菜单//这是元素二
很抱歉,又做错了<代码>打开菜单//这是元素一
关闭菜单//这是元素二
它工作了-我还没有更新到jquery 1.7.0-非常感谢!看起来很有希望,但根本没有运行动画。虽然我不确定这是否是问题所在,但是没有错误,只是没有点击动画<代码>打开菜单//这是元素一关闭菜单//这是元素二我还没有更新到jquery-1.7-更新了,上面的代码工作正常。但你的代码奇怪地没有??从逻辑上讲,我看不出它为什么没有。无论如何,谢谢你,看起来很有希望,但我根本没有在运行动画。虽然我不确定这是否是问题所在,但是没有错误,只是没有点击动画<代码>打开菜单//这是元素一关闭菜单//这是元素二我还没有更新到jquery-1.7-更新了,上面的代码工作正常。但你的代码奇怪地没有??从逻辑上讲,我看不出它为什么没有。谢谢你,伙计