2015-04-19 1 views
0

J'essaie d'ajuster le selection box de jcrop lorsque l'utilisateur entre une largeur et la hauteur et cliquez sur submit.changer la taille de la sélection jcrop

J'ai mis un exemple ici: http://pixelbypixel.comli.com/jcrop/

plugin jcrop ici: http://deepliquid.com/projects/Jcrop/demos.php

Si l'utilisateur clique sur submit, le selection box devient le width et height que l'utilisateur entre, mais après que l'utilisateur tente de déplacer la boîte, il change à la taille qu'il était avant submit.

Ce code j'ai écrit de le faire:

/* jcrop when page loads */ 
var jcrop_api; 
function initJcrop(oImg){ 
     oImg.Jcrop({},function(){ 
      jcrop_api = this; 
      jcrop_api.animateTo([100,100,400,300]); 
     }); 
    };  
jQuery(function(jQuery){ 
    initJcrop(jQuery('#jcrop_target')); 
}); 

/* box number when page loads */ 
function showCoords(c){ 
    jQuery('#w').val(c.w); 
    jQuery('#h').val(c.h); 
}; 

/* size when submit */ 
jQuery('.update-size').click(function(){ 
    var ancho = jQuery('#w').val(); 
    var altura = jQuery('#h').val(); 
    jQuery('.jcrop-holder > div:nth-child(1)').css('height', altura); 
    jQuery('.jcrop-holder > div:nth-child(1)').css('width', ancho); 
}); 

Et c'est le balisage:

<img src="img/test.jpg" id="jcrop_target"> 
<div> 
    <p>Define your own dimensions in CM:</p> 
    <form> 
     <label>Width: <input type="text" size="4" id="w" name="w" value="360"></label> 
     <label>Height: <input type="text" size="4" id="h" name="h" value="360"></label> 
     <a href="javascript:void(0)" class="update-size">submit</a> 
    </form> 
</div> 

Toute idée de ce que pourrait être le problème ici?

Répondre

0

En soumettre événement, vous devez définir la propriété « setSelect » du jCrop comme ceci:

jcrop_api.setSelect([0,0,ancho,altura]); 

Voir cet exemple et vous obtiendrez plus d'idée: http://deepliquid.com/projects/Jcrop/demos.php?demo=advanced

+0

Merci, cela fonctionne, mais est -il possible de faire le changement de taille dans la même position? il se réinitialise à la position x0 et y0 – propcode

+0

Oui c'est possible, pour cela vous devez obtenir les valeurs des variables x et y dans la fonction showCoords() et ensuite passer ces variables avec l'option setSelect(). –