如何关闭div如果另一个开放

时间:2013-02-12 04:44:34

标签: jquery if-statement jquery-animate

编辑:由于完全没有回复而更新了措辞。

说明

单击 LEFT 按钮时,

DIV会滑出。

正确点击 RIGHT 按钮时,DIV会滑出。

问题

如果 DIV out ,则点击 RIGHT 按钮>> > 在中滑动 DIV 并滑动向右 DIV 向外

如果正确 DIV out ,则点击 LEFT 按钮>> > 中滑动正确 DIV ,然后滑动 DIV

非常感谢帮助。

$("#left").click(function () {
    if (out === 0) {
        $("#left-slide").animate({
            width: "400px"
        }, {
            queue: false,
            duration: 1900
        });
        out = 1;
    } else {
        $("#left-slide").animate({
            width: "0px"
        }, {
            queue: false,
            duration: 2000
        });
        out = 0;
    }
});

     $("#right").click(function () {
    if (out === 0) {
        $("#right-slide").animate({
            width: "400px"
        }, {
            queue: false,
            duration: 1900
        });
        out = 1;
    } else {
        $("#right-slide").animate({
            width: "0px"
        }, {
            queue: false,
            duration: 2000
        });
        out = 0;
    }
});

这是jsFiddle的完整代码:http://jsfiddle.net/fxVS9/

2 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/fxVS9/3/

$(document).ready(function () {
    var l_out = 0;
    var r_out = 0;

    $("#left").click(function () {
        if (l_out === 0) {
            $("#left-slide").animate({
                width: "400px"
            }, {
                queue: false,
                duration: 1900
            });
            l_out = 1;
        } else {
            $("#left-slide").animate({
                width: "0px"
            }, {
                queue: false,
                duration: 2000
            });
            l_out = 0;
        }
        $("#right-slide").animate({
                width: "0px"
            }, {
                queue: false,
                duration: 2000
            });
            r_out = 0;
    });

...

答案 1 :(得分:0)

这是一个紧凑版本。

  $(document).ready(function () {
       $("#left,#right").click(function () {
              var clickedDiv = $(this).attr('id');
              var nonclickDiv = (clickedDiv === "left") ? "right" : "left";
              var currDiv = $('#' + clickedDiv + "-slide");
              var offDiv =  $('#' + nonclickDiv + "-slide" );
        currDiv.animate({
            width: currDiv.width() > 0 ? "0px" : "400px"
        }, {
            queue: false,
            duration: 1900
       });
       offDiv.animate({
            width: "0px"
        }, {
            queue: false,
            duration: 2000
       });
   });
 });

希望你喜欢(并接受:-))哈哈。是的,代表。