0

jCrop を使用していますが、アスペクト比を設定する必要があります。たとえば、X テキストボックスに「2」、Y テキストボックスに「2」と入力した場合、縦横比は 1 になります。

ただし、テキスト ボックスの値を (たとえば 3 と 1 に) 変更すると、jCrop は新しい値を取得する必要があります。今は初期化するだけで、振り返りません。

コードは次のとおりです。(他にもいろいろ試しましたがわかりませんでした。)

-JQUERY-
jQuery(function($){
   var numberX = $('#numberX').val();
   var numberY = $('#numberY').val();

   $('#jcrop_target').Jcrop({
      aspectRatio: ($(this).numberX / $(this).numberY),
   ... rest of the codes

-HTML-
<input type="text" id="numberX" name="numberX" value=""/>
<input type="text" id="numberY" name="numberY" value="" />

TLDR; numberX および numberY テキストボックスの値を変更すると、jCrop に反映されるはずです。jCrop は初期値のみを保持します。テキストボックスの値が変更された場合、アスペクト比を再計算する必要があります。

どんな助けでも大歓迎です!

4

1 に答える 1

1

コードを にしますfunction()document.ready次に、jQuery を使用すると、変更時に関数を実行できます( http://api.jquery.com/change/を参照) 。

例えば、

function changenumbers(){
   var numberX = $('#numberX').val();
   var numberY = $('#numberY').val();

   $('#jcrop_target').Jcrop({
      aspectRatio: ($(this).numberX / $(this).numberY),
   /* ... rest of the code */
}
$document.ready(function(){
   changenumbers();
   $("#numberX").change(function(){ changenumbers(); }
   $("#numberY").change(function(){ changenumbers(); }
}
于 2013-01-09T20:10:39.607 に答える