我正在创建一个使用JCrop的商店
现在,jcrop设置的宽高比将根据他们对问题2的回答而改变,因为画布的尺寸需要更改。
你可以通过上传问题4下的照片来看到这一点。我遇到的问题是,如果我在上传图像并初始化JCrop之后更改了问题2,这非常有效。但是,第一次初始化时,它将使用平方纵横比(1),这是JCrop的默认设置。
默认情况下如何使用问题2设置的宽高比?
$('select[name=size]').click(function() {
getPrice();
});
$('select[name=size]').change(function () {
getPrice($(this).val());
});
//custom function to change aspect ratio depending on answer on question 2
function getPrice(aspectRatioStr) {
var parts = aspectRatioStr.split('x'),
num = parseInt(parts[0]),
denom = parseInt(parts[1]),
newAspectRatio = num / denom;
if (!jcrop_api) return;
jcrop_api.setOptions({
aspectRatio: newAspectRatio
});
jcrop_api.focus();
}
// standard jcrop initialization
$('#preview').Jcrop({
minSize: [32, 32], // min crop size
aspectRatio : 1, // keep aspect ratio 1:1
bgFade: true, // use fade effect
bgOpacity: .3, // fade opacity
onChange: updateInfo,
onSelect: updateInfo,
onRelease: clearInfo,
boxWidth: 765
}, function(){
// use the Jcrop API to get the real image size
var bounds = this.getBounds();
boundx = bounds[0];
boundy = bounds[1];
// Store the Jcrop API in the jcrop_api variable
jcrop_api = this;
getPrice($('#name').val());
});
};
};
答案 0 :(得分:1)
你的问题在这里:
getPrice($('#name').val());
将其替换为:
getPrice($('select[name=size]').val());