0

我制作了这段代码,我正在尝试为一段文本/div 来回设置动画,但为什么这仅在第一次用于“placeRight”函数时才有效?right : "+=750"属性有问题吗?

$(document).ready( function ( ) {
   $("#text").click(placeRight);
});   

    var placeRight = function() {     
      $("#text").animate( { right :  "+=750" }, 1300); 
      $("#text").unbind("click"); 
      $("#text").click(placeLeft);
    }

    var placeLeft = function() {     
      $("#text").animate( { left :  "+=750" }, 1300); 
      $("#text").unbind("click");
      $("#text").click(placeRight);
    }
4

3 回答 3

1

你可以用更少的代码来做到这一点。这是一个工作演示:http: //jsfiddle.net/kkZtD/1/

于 2011-09-11T13:21:38.103 回答
0

尝试这个:

$(document).ready(function(){
   $("#text").click(function(){
      $(this).animate({ right: "+=750" }, 1300).animate({ left: "0" }, 1300);
   });
});
于 2011-09-11T13:35:20.933 回答
0

是的,你有双倍的时间$("#text").animate( { left : "+=750" }, 1300);
,所以你试图把它放在 +750px 的位置

像这样改变它

$(document).ready( function ( ) {
   $("#text").click(placeRight);
});   

var placeRight = function() {     
  $("#text").animate( { right :  "+=750" }, 1300);
  $("#text").unbind("click"); 
  $("#text").click(placeLeft);
}

var placeLeft = function() {     
  $("#text").animate( { left :  "-=750" }, 1300); //or { right: 0 }
  $("#text").unbind("click");
  $("#text").click(placeRight);
}
于 2011-09-11T13:18:10.097 回答