JavaScript/jQuery在触发时遇到问题

JavaScript/jQuery在触发时遇到问题,javascript,jquery,Javascript,Jquery,所以,当我点击一个按钮时,我只想触发一个元素从它的位置到另一个位置。然后,如果我再次单击按钮,我希望它回到原来的位置。 我有这个密码 $(document).ready(function() { $('.trigger').click(function() { $('.trigger').toggle( function() { $('.mod').css({'margin-left':'0px'}); },

所以,当我点击一个按钮时,我只想触发一个元素从它的位置到另一个位置。然后,如果我再次单击按钮,我希望它回到原来的位置。 我有这个密码

$(document).ready(function() {
    $('.trigger').click(function() {
    $('.trigger').toggle(
         function() {
             $('.mod').css({'margin-left':'0px'});
             },
         function() {
             $('.mod').css({'margin-left':'-100px'});
             }
         );
    });
});
当我按下按钮时,元素会执行我想要的操作。但是按钮不见了。我不太确定元素是否会被触发回来。
现在我只需要一个可以完成这项工作的工作代码。

.toggle()
正在隐藏和显示目标元素,因此您需要其他东西。一种方法是,只需检查元素的
左边距

$(document).ready(function() {
    $('.trigger').click(function() {
        alert($('.mod').css('margin-left'));
        if($('.mod').css('margin-left') == '0px') {
           $('.mod').css('margin-left', '-10px');
        }
        else {
            $('.mod').css('margin-left', '0px');
        }
    });
});
这个怎么样

$(document).ready(function() {
    $('.trigger').click(function(event) {
    event.preventDefault();
    if ( $(this).hasClass("isLeft") ) {
        $(".mod").stop().css({'margin-left':'0px'});                            
    } else {
        $(".mod").stop().css({'margin-left':'50px'}); //given +50px because it disappears when -50px is given
    }
    $(this).toggleClass("isLeft");
    return false;
    });
});

如果您使用的是jQuery 1.9或更高版本,问题在于
.toggle()
事件处理方法已从库中删除

您可以实现自己的切换:

$(document).ready(function() {
  $(".trigger").click(function() {
  var f = !$(this).data("toggleFlag");
  if (f) {
     $('.mod').css({'margin-left':'0px'});
  } else {
    $('.mod').css({'margin-left':'-100px'});
  }
  $(this).data("toggleFlag", f);
 });
});
这将使用该方法跟踪布尔标志,以指示要执行的代码


您需要
切换
.mod
而不是
.trigger

$(document).ready(function() {
  $('.trigger').click(function() {
    $('.mod').toggle(
      function() {
         $('.mod').css({'margin-left':'0px'});
      },
      function() {
         $('.mod').css({'margin-left':'-100px'});
       }
     );
  });
});  

如果你能把你所做的事情整理一下,社区对你的帮助将是完全有帮助的。你能显示
.trigger
的html吗。不知道如何处理两次回调。您的版本是否由插件提供?你期望它做什么?