【发布时间】:2012-10-22 05:33:36
【问题描述】:
我使用JCrop 来裁剪图像。 JCrop 是一个图像裁剪插件。一个页面包含 3 个要裁剪的图像。
这就是我为 jcrop 初始化数组的方式:
var jcrop = [];
那么我有:
$('img.picture').each(function(){
imgcrop = $(this);
imgcrop.Jcrop({
bgColor: 'white',
aspectRatio: 1
}, function(){
jcrop.push(this);
});
});
问题是当我拥有jcrop[1].setImage( '/image/no-picture.jpg' ); 时,它有时会更改第一张或第三张图片。
$('div.deletePhoto a').bind('click', function(e){
e.preventDefault();
var index =$('div.deletePhoto').index($(this).parent());
$.post('/deletePicture', function(data){
alert(index);
jcrop[index].setImage( '/image/no-picture.jpg' );
jcrop[index].disable();
});
});
变量index 可以,但jcrop[index] 不行。
HTML:
<!-- pictures -->
<div class="blu_3">
<div class="imgWrapper">
<img class="blu_10 picture" />
<div class="delete deletePhoto"><a href="#" title="delete">[ x ]</a></div>
</div>
<input class="crop" type="button" value="crop" />
</div>
<div class="blu_3">
<div class="imgWrapper">
<img class="blu_10 picture" />
<div class="delete deletePhoto"><a href="#" title="delete">[ x ]</a></div>
</div>
<input class="crop" type="button" value="crop" />
</div>
<div class="blu_3">
<div class="imgWrapper">
<img class="blu_10 picture" />
<div class="delete deletePhoto"><a href="#" title="delete">[ x ]</a></div>
</div>
<input class="crop" type="button" value="crop" />
</div>
我该如何解决?
【问题讨论】:
-
你是在循环中做的吗?也许如果你在循环之外做它会起作用?如果你只需要更改 jcrop[1] 图像
-
你能显示你使用 jcrop[1].setImage 的代码吗?
-
我的意思是它不在循环中,但我尝试在 jcrop 上进行迭代。
-
"它有时会改变第一张或第三张图片。" - 是什么意思的变化?而且看起来你设置了参数 blobkey - 他是对的吗?
-
blobkey 不是代码的一部分。我的意思是 jcrop 设置不正确。如果 index=1,我希望设置第二张图像,但有时不会。第一张或第三张图片,而不是第二张图片。
标签: javascript jquery arrays jcrop