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 回答