Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jcrop正在回调时返回对象的小数_Javascript_Jcrop - Fatal编程技术网

Javascript Jcrop正在回调时返回对象的小数

Javascript Jcrop正在回调时返回对象的小数,javascript,jcrop,Javascript,Jcrop,使用库时,我无法跟踪回调上的返回对象为什么可以而且有时包含小数。我希望所有的x1,x2,y1,y2,宽度和高度都是整数 我对jcrop的初始化是: $('img.jsEditable').Jcrop({ bgColor: 'black', bgOpacity: .4, setSelect: [0, 0, crop_width, crop_height], aspectRatio: 1, onSelect: saveCoordinates, minS

使用库时,我无法跟踪回调上的返回对象为什么可以而且有时包含小数。我希望所有的x1,x2,y1,y2,宽度和高度都是整数

我对jcrop的初始化是:

$('img.jsEditable').Jcrop({
    bgColor: 'black',
    bgOpacity: .4,
    setSelect: [0, 0, crop_width, crop_height],
    aspectRatio: 1,
    onSelect: saveCoordinates,
    minSize: [crop_width, crop_height],
    maxSize: [400, 400]
  });
其中,裁剪宽度和裁剪高度只是我在其他地方设置的变量,正好是150。我期待(在演示中的)他们是一个设置像素

有什么想法吗?

有什么想法吗?

这似乎是Jcrop 0.9.9和0.9.10之间的差异。如果您从网站转到演示,并拖动该框,则在回调中只会得到整数。演示不是最新的,正在使用Jcrop 0.9.9

但是,如果下载Jcrop,您将获得版本0.9.10。下载中包含的演示也使用Jcrop 0.9.10,回调中会出现小数。如果在演示中替换掉版本0.9.10,而使用0.9.9,则回调中只能得到整数坐标

进一步研究,在jquery.Jcrop.js的版本0.9.10中,第656行的坐标舍入被删除。回报来自:

return [ Math.round(xa), Math.round(ya), Math.round(xb), Math.round(yb) ];


我不确定这样做的原因(我查看了github上的提交评论,但没有什么让我感到意外),但是如果您在回调中添加舍入,您将不会再得到小数。

看起来这可能是原因所在
return [xa, ya, xb, yb];