2012-02-07 8 views
0

jQueryのアニメーション

<head> 
    <style> 
     div { 
      position:absolute; 
      background-color:#abc; 
      left:100px; 
      width:90px; 
      height:90px; 
      margin:15px; 
      right:15px; 
     } 
    </style> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 

<body> 
    <button id="left">&laquo;</button> 
    <button id="right">&raquo;</button> 
    <div class="block"></div> 
    <script> 
     $("#right").click(function() { 
      $(".block").animate({ 
       "left": "+=50px" 
      }, "slow"); 
     }); 

     $("#left").click(function() { 
      $(".block").animate({ 
       "left": "-=50px" 
      }, "slow"); 
     }); 
    </script> 
</body> 

私が持っている問題は、( "ブロック ")$の "左" の意味であるアニメーション({" 左": " - =は50px"}。 、 "スロー");私はブロックが現在動いていない、またはアニメーション化している両方で、両方とも「正しい」に変更されました。それは "左"の時に働くだけです。

+0

おそらく余白にアニメーションを適用してみてください – Eric

答えて

1

leftrightの間に矛盾がある場合は、左が優先されます。あなたは本当にどちらか一方だけを定義するべきではありません。

cssからleftを削除してからrightに変更すると効果があります。

1

1つは、leftを定義しています。これは優先順位を保持します。あなたが仕事をしたい場合は、あなたのCSSから左の宣言を削除してください。

0

左右のどちらも相対的な位置付けでは機能しません。 1つのプロパティのみを使用できます

0

左絶対配置を使用しているために起こっています。それを右に変えれば動作します。