嗨有人知道为什么这个不起作用!!我尝试过各种各样的事。
function loadJcrop(widthN, heightN){
var run = true;
if( run === true ) {
alert( parseInt(Number(widthN) / Number(heightN)) );
jQuery(function(widthN, heightN) {
jQuery('#cropbox').Jcrop({
onChange: showCoords, onSelect: showCoords, aspectRatio: parseInt(Number(widthN) / Number(heightN))
});
});
}
}
jQuery(window).load(function() {
loadJcrop(16, 1);
});
警报返回16但没有!
如果我把
aspectRatio: 16
它有效
任何想法??
答案 0 :(得分:1)
首先,我会在一个地方进行计算。其次,我认为你的Math.round更好。然而,最重要的是,您在内部函数中使用函数参数,我认为您不想这样做(它将取消设置变量heightN和widthN)。
我会将该函数重写为:
function loadJcrop(widthN, heightN){
// This is much clearer and easier to understand.
var current = Math.round( Number(widthN) / Number(heightN) );
var run = true;
if( run ) { // if you have a variable which is a Boolean,
// you should not use '=='
alert( current );
jQuery(function(/* Note the empty parameters */) {
jQuery('#cropbox').Jcrop({
onChange: showCoords, onSelect: showCoords, aspectRatio: current)
});
});
}
}