我有一个jQuery代码,当我单击它时会在右侧移动某个div元素,当我单击它时,我想将其移回其原始位置。

$(document).ready(function() {
    $("#wel1").click(function() {
        $("#sidemenu").animate({left: "80px"});
    });
});


给我一个简单的例子,如何实现它?

最佳答案

实现此目标的一种可能方法是将状态存储在变量中,并在单击时检查其状态。

$(document).ready(function() {
   var sideMenu = false;
    $("#wel1").click(function() {
      if (!sideMenu) {
        $("#sidemenu").animate({left: "80px"});
        sideMenu = true;
      }
      else {
        $("#sidemenu").animate({left: "0px"});
        sideMenu = false;
      }
    });
});


请注意,此解决方案存在几个问题:


不适用于多个菜单
如果快速单击,可能会产生不需要的动画效果(“跳跃”)

关于jquery - move div onclick并返回onclick,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27843192/

10-11 01:40