我正在使用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();'>
答案 0 :(得分:11)
JCrop会创建一个用于裁剪的图像副本。您只需更改选择器,如下所示:
$('.jcrop-holder img').attr('src', 'http://eofdreams.com/data_images/dreams/cat/cat-06.jpg');
答案 1 :(得分:3)
您可以使用setImage()函数。初始化Jcrop时,保存它创建的对象,以便在需要时调用此函数。
var JCropper;
$('#image').Jcrop({
..setup..
} function() {
// Save Jcrop object
JCropper = this;
}
JCropper.setImage('/newimage.jpg');
答案 2 :(得分:1)
如果您不仅要更改网址,还要删除之前图片中的所有样式,则必须这样做:
$('#image').removeAttr('style');