6

我正在使用 jcrop 进行动态图像裁剪,并希望用户可以选择在开始裁剪之前更改图像。

由于某种原因,我无法更改图像。

jsfiddle http://jsfiddle.net/UUKP4/2/

当我查看 firefly 中的代码时,它显示了两个 img 元素,一个位于没有 id 的 jcrop 容器中。

如何更改图像?

代码

#jcrop_target {
width:200px;
}


$(function () {
$('#jcrop_target').Jcrop();
});

function chageImage() {
alert("hello");
$('#jcrop_target').attr('src', 'http://eofdreams.com/data_images/dreams/cat/cat-06.jpg');
}

<img src="http://jcrop-cdn.tapmodo.com/v0.9.10/demos/demo_files/pool.jpg" id="jcrop_target" />
<input type='button' value='change image' id='changeImage' onclick='chageImage();'>
4

3 回答 3

11

JCrop 创建图像的副本以用于裁剪。您只需要像这样更改选择器:

$('.jcrop-holder img').attr('src', 'http://eofdreams.com/data_images/dreams/cat/cat-06.jpg');

http://jsfiddle.net/UUKP4/4/

于 2013-08-21T08:08:31.033 回答
3

您可以使用 setImage() 函数。初始化 Jcrop 时,保存它创建的对象,以便在需要时调用此函数。

var JCropper;

$('#image').Jcrop({ 
  ..setup..
} function() {
  // Save Jcrop object
  JCropper = this;
}

JCropper.setImage('/newimage.jpg');
于 2014-01-14T10:55:32.237 回答
1

如果您不仅要更改 url,而且要从以前的图像中删除所有样式,则必须这样做:

$('#image').removeAttr('style');
于 2014-09-21T21:20:57.407 回答