1

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

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

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

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

干杯乔什

4

2 回答 2

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 中是新的并且在这种情况下替换.bind(),如果你使用 jQuery < 1.7 然后使用.bind().

于 2011-11-11T17:46:51.887 回答
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');
    }
});
于 2011-11-11T17:50:18.133 回答