*= は有効な JavaScript 代入演算子です。プロパティ値のアニメーション化に使用できないのはなぜですか? 以下のコードは機能しません。私がしたいのは、幅と高さを2倍にすることだけです。
$('div.box').animate({
'width' : '*=2',
'height' : '*=2',
}, 'slow');
*= は有効な JavaScript 代入演算子です。プロパティ値のアニメーション化に使用できないのはなぜですか? 以下のコードは機能しません。私がしたいのは、幅と高さを2倍にすることだけです。
$('div.box').animate({
'width' : '*=2',
'height' : '*=2',
}, 'slow');
誰もまだ実装していないため、これは機能しません。あなたがそうしたい場合(そして作ります世界jQuery の方が少し良い)、"Contribut to jQuery".page を見てください。
今のところ問題を解決するには、自分で計算を行う必要があります-次のようなものです(テストされていませんが、アイデアを得る必要があります):
単一の要素の場合:
var element = $('#animate');
element .animate({
'width' : element.width()*2,
'height' : element.height()*2,
}, 'slow');
複数の要素の場合:
$('.animate').each(function(){
var element = $(this);
element .animate({
'width' : element.width()*2,
'height' : element.height()*2,
}, 'slow');
});
基本的に、式の結果ではなく、式リテラルを渡そうとしているためです。jQuery には、違いを理解するための処理がありません。そして、なぜそれが必要なのですか?jQuery 内に Javascript インタープリター全体を含める必要はありません。それは深刻な膨張です。
最も近いのは次のとおりです。
var divbox = $('div.box');
divbox.animate({
width: (divbox.width() * 2) + 'px',
height: (divbox.height() * 2) + 'px'
});