css 演算子内で += 演算子を実現する方法はありますか (例の ui.value に数値があると仮定)
このようなもの(動作しません):
$("#resume_holder").contents().find('body').children().css('font-size', +=ui.value);
css 演算子内で += 演算子を実現する方法はありますか (例の ui.value に数値があると仮定)
このようなもの(動作しません):
$("#resume_holder").contents().find('body').children().css('font-size', +=ui.value);
試す:
$("#resume_holder")
.contents()
.find('body')
.children()
.css('font-size', '+=' + ui.value);
(jQuery >= 1.6 を使用している場合)
cssのドキュメントによると:
jQuery 1.6 以降、.css() は .animate() と同様の相対値を受け入れます。相対値は、+= または -= で始まる文字列で、現在の値を増分または減分します。たとえば、要素の padding-left が 10px の場合、.css( "padding-left", "+=15" ) は合計 25px の padding-left になります。
例: http://jsfiddle.net/JMRPf/ (私が知っている些細なことですが、それが機能することの証明)
font-size の実際の値を変数に保持し、ui.value を追加して、割り当て直すことができます。
var crtFontSize = parseInt($("#resume_holder").contents().find('body').children().css('font-size'));
crtFontSize += ui.value;
$("#resume_holder").contents().find('body').children().css('font-size', crtFontSize + 'px');
jqueryの方法も使えますがanimate
、結果が徐々に表示されてしまいます..それは問題ですか?
$("#resume_holder").contents().find('body').children().animate('font-size', ui.value);
これにより、現在のフォントサイズがui.value
含まれるものに変更されます。
短い答え、いいえ。
ただし、これは次のように実行できます (未テスト)。
$("#resume_holder").contents().find('body').children().each(function() {
$(this).css('font-size', $(this).css('font-size') + ui.value);
});
よくわかりませんが、メソッドcss
を使用して実装を試みることができますanimate
。
$("#resume_holder").contents().find('body').children()
.animate({ fontSize: '+='+ui.value });