【发布时间】:2019-02-24 20:19:25
【问题描述】:
我正在尝试使用 jcrop,但是对于 jquery 来说是新手,我对如何在 jquery 函数中使用“round”函数感到有些困惑。
当我通过 PHP 变量提交结果并且它们在 jquery 的屏幕显示中使用时,我更愿意将它们与在 jquery 中获取的一样进行四舍五入,从而确保 jquery 和 php 的一致性。我不希望一个四舍五入,而另一个舍弃。看起来round的默认行为是四舍五入到最接近的整数,这很好。
我的脚本当前(带有一些 php)
<?php
$boxwidth=500;
$boxheight=500;
?>
<script>
$(function() {
$('#cropbox').Jcrop({ boxWidth: <?php echo $boxwidth;?>, boxHeight: <?php echo $boxheight;?> });
});
$(document).ready(function()
{
// Update co-ordinates
function updateCoordinates(cropbox)
{
$("#crop_x").val(cropbox.x);
$("#crop_y").val(cropbox.y);
$("#width").val(cropbox.w);
$("#height").val(cropbox.h);
}
// Attach jCrop
$("#cropbox").Jcrop({
<?php echo (isset($_POST['aspect_ratio']) ? 'aspectRatio: ' . ((float)$_POST['width'] / (float)$_POST['height']) . ',' : ''); ?>
onChange: updateCoordinates,
onSelect: updateCoordinates
});
});
-->
</script>
我不熟悉这种类型的代码,不知道如何对结果进行四舍五入。我没有显示实际的图像文件,而是它的浏览器调整大小的版本,并且经常得到像 100.3394567892 x 100.544222 像素这样的结果,这将产生 100x101 的图像。我知道它不会是“像素准确的”,当我想要 100x100 时,我可能不得不满足于 99x99,但显示的尺寸将与最终结果相符,并且我会消除显示小数点后 10 位的图像尺寸。
【问题讨论】: