jQuery .click .animate向下移动,然后向上移动

时间:2010-11-18 14:28:25

标签: jquery

到目前为止,我设法做到这一点,所以它以120的增量向下移动,但我希望它上下移动,而不是上下......我希望我已经解释了这个“某人”会明白的。

  <script>
  $(document).ready(function() {
    $('#footertab').click(function() {
      $('#footer').animate({
        bottom: '-=120'
      }, 1000, function() {
        // Animation complete.
      });
    });
  });
  </script>

4 个答案:

答案 0 :(得分:7)

如果我做对了,你就想切换页脚的位置。这可以通过.toggle() - function:

来完成
$(document).ready(function() {
  $('#footertab').toggle(function() {
    $('#footer').animate({
      bottom: '-=120'
    }, 1000);
  },function() {
    $('#footer').animate({
      bottom: '+=120'
    }, 1000);
  })
});

答案 1 :(得分:2)

您可以使用.toggle()

$(function() { //shortcut for $(document).ready(function() {
  $('#footertab').toggle(function() {
    $('#footer').animate({ bottom: '-=120' }, 1000);
  }, function() {
    $('#footer').animate({ bottom: '+=120' }, 1000);
  });
});

使用.toggle(),每个click事件都会在运行-=+=动画之间切换。另请注意,如果不执行任何操作,则无需包含动画回调,只需将其关闭即可。

答案 2 :(得分:1)

听起来像slideToggle()http://api.jquery.com/slideToggle/可能适合你。

答案 3 :(得分:0)

<script>
  $(document).ready(function() {
    $('#footertab').toggle(
      function() {
        $('#footer').animate({
          bottom: '-=120'
        }, 1000, function() {
          // Animation complete.
        });
      },
      function() {
        $('#footer').animate({
          bottom: '+=120'
        }, 1000, function() {
          // Animation complete.
        });
      },
    );
  });
  </script>