Jquery 使用同一元素执行两个操作

Jquery 使用同一元素执行两个操作,jquery,animation,Jquery,Animation,正如你在这里看到的: 一旦我点击按钮,隐藏的div就会向左移动,但我还需要做的是,当我再次按下按钮时,div必须回到它原来的位置,但我不知道怎么做 我试过这个,但不起作用: $("button").click(function(){ $(".div").animate({ left: "0px" }, 300); $("body").animate({ left:"150px" }, 300); }); 下面的代码不起作用 $("b

正如你在这里看到的:

一旦我点击按钮,隐藏的div就会向左移动,但我还需要做的是,当我再次按下按钮时,div必须回到它原来的位置,但我不知道怎么做

我试过这个,但不起作用:

$("button").click(function(){
    $(".div").animate({
       left: "0px"

   }, 300);
    $("body").animate({
       left:"150px"
    }, 300);
});
下面的代码不起作用

$("button").click(function(){
   $(".div").animate ( {
       left: "-150px"
   }, 300);
    $("body").animate({
       left:"0px"
    }, 300)
});

感谢阅读。

将状态保存在变量中,并使用它来显示或隐藏

var visible = false;

$("button").click(function() {
  if (visible) {
   $(".div").animate({
       left: "-150px"

   }, 300);
   $("body").animate({
       left:"0px"
   }, 300)
  } else {
    $(".div").animate({
       left: "0px"
   }, 300);
   $("body").animate({
       left:"150px"
   }, 300);
  }

  visible = !visible;
});

将状态保存在变量中,并使用它显示或隐藏

var visible = false;

$("button").click(function() {
  if (visible) {
   $(".div").animate({
       left: "-150px"

   }, 300);
   $("body").animate({
       left:"0px"
   }, 300)
  } else {
    $(".div").animate({
       left: "0px"
   }, 300);
   $("body").animate({
       left:"150px"
   }, 300);
  }

  visible = !visible;
});

将状态保存在变量中,并使用它显示或隐藏

var visible = false;

$("button").click(function() {
  if (visible) {
   $(".div").animate({
       left: "-150px"

   }, 300);
   $("body").animate({
       left:"0px"
   }, 300)
  } else {
    $(".div").animate({
       left: "0px"
   }, 300);
   $("body").animate({
       left:"150px"
   }, 300);
  }

  visible = !visible;
});

将状态保存在变量中,并使用它显示或隐藏

var visible = false;

$("button").click(function() {
  if (visible) {
   $(".div").animate({
       left: "-150px"

   }, 300);
   $("body").animate({
       left:"0px"
   }, 300)
  } else {
    $(".div").animate({
       left: "0px"
   }, 300);
   $("body").animate({
       left:"150px"
   }, 300);
  }

  visible = !visible;
});
你可以用旗子

$("button").on('click', function () {
    var flag = $(this).data('flag');

    $(".div").animate({
        left: flag ? "-150px" : "0px"
    }, 300);

    $("body").animate({
        left: flag ? "0px" : "150px"
    }, 300);

    $(this).data('flag', !flag)
});
您可以使用标志

$("button").on('click', function () {
    var flag = $(this).data('flag');

    $(".div").animate({
        left: flag ? "-150px" : "0px"
    }, 300);

    $("body").animate({
        left: flag ? "0px" : "150px"
    }, 300);

    $(this).data('flag', !flag)
});
您可以使用标志

$("button").on('click', function () {
    var flag = $(this).data('flag');

    $(".div").animate({
        left: flag ? "-150px" : "0px"
    }, 300);

    $("body").animate({
        left: flag ? "0px" : "150px"
    }, 300);

    $(this).data('flag', !flag)
});
您可以使用标志

$("button").on('click', function () {
    var flag = $(this).data('flag');

    $(".div").animate({
        left: flag ? "-150px" : "0px"
    }, 300);

    $("body").animate({
        left: flag ? "0px" : "150px"
    }, 300);

    $(this).data('flag', !flag)
});

我认为这个问题对你的工作很有帮助case@DoanCuong-不!在该问题的答案中使用的切换版本已被弃用并从jQuery中删除,不应推荐使用该版本。@adeneo感谢您的通知,我已经很久没有使用jQuery了^^^我认为该问题可以帮助您解决问题case@DoanCuong-不!在该问题的答案中使用的切换版本已被弃用并从jQuery中删除,不应推荐使用该版本。@adeneo感谢您的通知,我已经很久没有使用jQuery了^^^我认为该问题可以帮助您解决问题case@DoanCuong-不!在该问题的答案中使用的切换版本已被弃用并从jQuery中删除,不应推荐使用该版本。@adeneo感谢您的通知,我已经很久没有使用jQuery了^^^我认为该问题可以帮助您解决问题case@DoanCuong-不!在该问题的答案中使用的切换版本已被弃用并从jQuery中删除,不应推荐使用该版本。@adeneo感谢您的通知,我已经很长时间没有使用jQuery了^^^我将更改变量状态,如:visible=!看得见的在click函数的末尾,在if之外。这非常有效,但我不知道它是如何工作的。你能解释一下吗?我会让变量状态改变,比如:visible=!看得见的在click函数的末尾,在if之外。这非常有效,但我不知道它是如何工作的。你能解释一下吗?我会让变量状态改变,比如:visible=!看得见的在click函数的末尾,在if之外。这非常有效,但我不知道它是如何工作的。你能解释一下吗?我会让变量状态改变,比如:visible=!看得见的在点击功能的末尾,在if之外。这非常有效,但我不知道它是如何工作的。你能解释一下吗?