0

このコードを作成しました。text/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

ええ、あなたは2倍の時間を持っている$("#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 に答える
0

これを試して:

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