私はdivのクリックからの方向を取得し、間違っている何アニメーション化する方向に渡しjQueryの()
var direction = $(this).attr('class').split(' ')[1];
var scrollAmount = 285;
$('#slider').animate({direction:'-=' + scrollAmount}, 'slow');
アニメーション機能にこれを渡すようにしようとしていますか?
おかげ
私はdivのクリックからの方向を取得し、間違っている何アニメーション化する方向に渡しjQueryの()
var direction = $(this).attr('class').split(' ')[1];
var scrollAmount = 285;
$('#slider').animate({direction:'-=' + scrollAmount}, 'slow');
アニメーション機能にこれを渡すようにしようとしていますか?
おかげ
APIドキュメントをアニメーションjQueryのから
例コードをアニメーション化する最初のパラメータとして、CSSで左または右に渡す必要がありますanimate関数の最初の引数は、アニメーションの最後の最終的なプロパティを示すCSSプロパティを取ります。あなたはそのように方向を伝えることはできません。あなたは左またはスクロール左の量を設定し、方向を変更したい場合は、方向の値を見て、行きたい方法に応じて - =または+ =を使用する必要があります。
var sign;
if (direction == 'left') sign = '-=';
else sign = '+=';
$('#slider').animate({left:sign + scrollAmount}, 'slow');
それともプロパティがある場合は、私は方向に合格しようとしています
var prop = {};
prop[direction] = scrollAmount;
$('#slider').animate(prop, 'slow');
方向ので、エラーと呼ばれるanimate
には、このようなプロパティはありません。 documentationを確認してください。
コメント
あたりとして編集し、あなたが
<!DOCTYPE html> <html> <head> <style> div { position:absolute; background-color:#abc; left:50px; width:90px; height:90px; margin:5px; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <button id="left">«</button> <button id="right">»</button> <div class="block"></div> <script> $("#right").click(function(){ $(".block").animate({"left": "+=50px"}, "slow"); }); $("#left").click(function(){ $(".block").animate({"left": "-=50px"}, "slow"); }); </script> </body> </html>
に合格しようとしているいずれかの「左」または「右」 – LeBlaireau
次に 'left'または'右のいずれかを渡します'... – elclanrs
' - ='または '+ ='演算子を使用したくない場合はどうしますか?クロムのズームの問題はありますか? 「等価な」コールはありますか? –