我想使用jquery左右和左右移动按钮

时间:2013-06-21 12:36:00

标签: javascript jquery jquery-plugins

我可以将按钮移动到左侧,但之后我又可以将它移动到右侧。 我也可以在这里使用延迟。

以下是我尝试过的代码:

  $(document).ready(function () {
      example_animate(10);


  });

  function example_animate(px) {

     $('#Button1').animate({
         'marginLeft': px

     });
 }

5 个答案:

答案 0 :(得分:1)

你可以使用它,它对我来说非常有效,它会不断地来回移动你的元素,你也可以改变动画的速度。

function animatethis(targetElement, speed) {
        $(targetElement).animate({ marginLeft: "+=10px" },
{
    duration: speed,
    complete: function () {
        targetElement.animate({ marginLeft: "-=10px" },
        {
            duration: speed,
            complete: function () {
                animatethis(targetElement, speed);
            }
        });
    }
)};
}

使用它来实现:

animatethis($('#controlid'), 1500);

答案 1 :(得分:0)

如果不查看HTML和CSS,无法正确回答,但您所做的是正确的。只需使用负值

调用example_animate()即可

即。

example_animate(-10);

或者如果你想把它带到原始值(假设它最初有0个边距)

example_animate(0);

注意:这可能不是动画

的最佳方式

答案 2 :(得分:0)

是的,animate函数接受动画完成后调用的函数。所以你可以这样做:

 $(document).ready(function () {
      example_animate(100);
  });

  function example_animate(px) {   
     $('#Button1').animate({
         'marginLeft': px
     }, function(){
       $('#Button1').animate({
         'marginLeft': 1
       });
     });
 }

http://jsbin.com/ixajol/1/edit

答案 3 :(得分:-1)

只在右边做同样的事情,如果你能让它离开,那就不那么难了。

答案 4 :(得分:-1)

也许

var button_init_marginLeft;
$(document).ready(function () {
   button_init_marginLeft = $('#Button1').css("marginLeft");
   example_animate(10, true);
   example_animate(null, false);
});

function example_animate(px, to_left) {
  if (to_left)
  {
    $('#Button1').animate({
      'marginLeft': px
    });
  }
  else
  {
    $('#Button1').animate({
      'marginLeft': button_init_marginLeft
    });
  }
}