我可以以某种方式得到mm而不是.draggable函数的px吗?当我查看我的检查员使用它时,我得到了顶部:'一些px'左:'一些px'。
无论如何从一开始就说#34;我需要mm而不是px"或将px转换为mm?我的父对象已经有mm,所以我真的需要mm也可以在top和left值上。
答案 0 :(得分:0)
这取决于你为什么要这样做,因为:
像素和物理测量之间的相关性取决于 完全在显示器上,每个物理像素有多少 (方形)毫米。 72ppi(每英寸像素数)曾经是典型的 分辨率,但许多设备的像素密度增加, 那不再是给定的了。
根本没有标准公式 - deceze
如果你不需要那么准确地说mm = 3.779528px你可以猜测它,但是对于大多数目的来说这会导致比它解决的更多问题。
$('.draggable').draggable({
containment: 'parent',
drag: function(event, ui) {
$('.pos').html(
'<p>top:' + $('.draggable').position().top / 3.779528 + 'mm</p>' +
'<p>left:' + $('.draggable').position().left / 3.779528 + 'mm</p>'
);
}
});
.parent {
position: relative;
width: 100mm;
height: 100mm;
background: silver
}
.draggable {
height: 20mm;
width: 20mm;
background: grey
}
.pos {
position: fixed;
bottom: 0;
color blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script>
<div class="parent">
<div class="draggable"></div>
</div>
<div class="pos"></div>