.draggable mm而不是px的位置?

时间:2014-09-25 21:46:59

标签: jquery-ui

我可以以某种方式得到mm而不是.draggable函数的px吗?当我查看我的检查员使用它时,我得到了顶部:'一些px'左:'一些px'。

无论如何从一开始就说#34;我需要mm而不是px"或将px转换为mm?我的父对象已经有mm,所以我真的需要mm也可以在top和left值上。

1 个答案:

答案 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>