Jquery切换使用2个元素

时间:2011-11-11 17:41:38

标签: javascript jquery html toggle alternation

这是我的脚本,我正在使用切换,因此我可以为滑动菜单设置动画。

    $("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

我需要它,如果元素1首先点击,你可以在第一次点击时使用元素2关闭菜单。现在发生的事情是你必须点击两次元素才能关闭菜单 - 反之亦然

我想这是切换的开始,任何帮助都会非常感谢。

干杯 约什

2 个答案:

答案 0 :(得分:1)

$('.show-menu').on('click', function () {

    //check the state of the .menu-button, if it's closed then run the open animation, if it's open then run the close animation
    if ($(".menu-button").html() == 'close menu') {
        $("#slideover").animate({
            right: "0"
        }, 300);
        $(".menu-button").html('open menu');
    } else {
        $("#slideover").animate({
            right: "512px"
        }, 300);
        $(".menu-button").html('close menu');
    }
});

.on()是jQuery 1.7中的新功能,如果您使用的是jQuery&lt;在此实例中替换.bind()。 1.7然后使用.bind()

答案 1 :(得分:0)

怎么样?
$('.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');
    }
});