jcrop для двух изображений одновременно
Здравствуйте.
Из этого куска кода каким-то образом передается параметр для функции updateInfo, либо это закладено у самом плагине, либо то что находится у function(){}:
............
............
............
// initialize Jcrop
$('#'+phot+'preview').Jcrop({
minSize: [250, 150], // min crop size
aspectRatio : 1.6666666666666666, // keep aspect ratio 1:1
bgFade: true, // use fade effect
bgOpacity: .3, // fade opacity
onChange: updateInfo,
onSelect: updateInfo,
onRelease: clearInfo
}, function(){
// use the Jcrop API to get the real image size
var bounds = this.getBounds();
boundx = bounds[0];
bound = bounds[1];
// Store the Jcrop API in the jcrop_api variable
jcrop_api = this;
});
А вот и сама функция updateInfo:
// update info by cropping (onChange and onSelect events handler)
ffunction updateInfo(e) {
$('#'+phot+' #x1').val(e.x);
$('#'+phot+' #y1').val(e.y);
$('#'+phot+' #x2').val(e.x2);
$('#'+phot+' #y2').val(e.y2);
$('#'+phot+' #w').val(e.w);
$('#'+phot+' #h').val(e.h);
};
Вопрос: как мне предать у функцию updateInfo параметр phot. Принимать наверное так updateInfo(e,phot), но где дописать чтобы отправить? // Делаю я это для того чтобы была возможность загружать одновременно два изображения и обрезать их. Полный пример если что: http://www.script-tutorials.com... |
Можно выйти из ситуации так
var jcrop_api = [];
$(function(){
$('.image-resize').each(function(index, element) {
var w = $(this).data('w');
var h = $(this).data('h');
var x1 = $(this).data('x1');
var x2 = $(this).data('x2');
var y1 = $(this).data('y1');
var y2 = $(this).data('y2');
var id = $(this).data('id');
var img = $(this).find('img');
$(img).Jcrop({
keySupport: false,
}, function (){
var bounds = this.getBounds();
boundx = bounds[0];
bound = bounds[1];
jcrop_api[index] = this;
});
});
});
my_func(){
// Можно пробежать все фотки и запросить их координаты
console.log(jcrop_api[0].tellSelect()); // первая фотка
}
|
| Часовой пояс GMT +3, время: 18:13. |