Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problema con Jcrop

Estas en el tema de Problema con Jcrop en el foro de Javascript en Foros del Web. Hola amig@s, Tengo un pequeño problema que debido a mi desconocimiento de Jquery no soy capaz de solucionar y os agradeceria que me hechaseis un ...
  #1 (permalink)  
Antiguo 22/02/2013, 04:29
 
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Problema con Jcrop

Hola amig@s,

Tengo un pequeño problema que debido a mi desconocimiento de Jquery no soy capaz de solucionar y os agradeceria que me hechaseis un cable con ello :)

Os pongo el codigo y os explico abajo :)

Código:
 jQuery(function($){

    // Create variables (in this scope) to hold the API and image size
    var jcrop_api,boundx,boundy;
		
        // Grab some information about the preview pane
        $preview = $('#preview-pane'),
        $pcnt = $('#preview-pane .preview-container'),
        $pimg = $('#preview-pane .preview-container img'),
        xsize = $pcnt.width(),
        ysize = $pcnt.height();
		
        console.log('init',[xsize,ysize]);
    	$('#target').Jcrop({
      		onChange: updatePreview,
      		onSelect: updatePreview,
	  		onRelease:  clearCoords,
      		aspectRatio: xsize / ysize
    	},function(){
      		// Use the API to get the real image size
      		var bounds = this.getBounds();
     		boundx = bounds[0];
     		boundy = bounds[1];
      		// Store the API in the jcrop_api variable
     		jcrop_api = this;
      		// Move the preview into the jcrop container for css positioning
      		$preview.appendTo(jcrop_api.ui.holder);
    });
	
	function showCoords(c)
 	{
		$('#x1').val(c.x);
		$('#y1').val(c.y);
		$('#x2').val(c.x2);
		$('#y2').val(c.y2);
		$('#w').val(c.w);
		$('#h').val(c.h);
  	};
	
    function updatePreview(c)
    {

	  showCoords();
      if (parseInt(c.w) > 0)
      {
        var rx = xsize / c.w;
        var ry = ysize / c.h;

        $pimg.css({
          width: Math.round(rx * boundx) + 'px',
          height: Math.round(ry * boundy) + 'px',
          marginLeft: '-' + Math.round(rx * c.x) + 'px',
          marginTop: '-' + Math.round(ry * c.y) + 'px'
        });
      }
    };

  });
Este es el codigo que he copiado de los ejemplos y los he unificado, por separado, funciona correctamente, pero cuando los unifico me da el siguiente error:

TypeError: c is undefined
[Parar en este error]

$('#x').val(c.x);


Por favor si alguien me puede ayudar se lo agradeceria :)

Un saludo!!!
  #2 (permalink)  
Antiguo 22/02/2013, 05:55
 
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Problema con Jcrop

He solucionado el problema de la siguiente manera, por si a alguien le da el mismo error.

Lo que he hecho es simplemente cargarme la funcion showCoords(c) e introduje su contenido en la funcion updatePreview(c) al inicio de todo.

Despues de hacer ese cambio, no me ha vuelto a dar el error y he conseguido la funcionalidad que queria que era tener la previsual de la imagen junto con las caracteristicas y posicion del Jcrop.

Un saludo

Etiquetas: funcion, jquery, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:15.