【问题标题】:How to find exact draggable grid line position in rulerguides.js?如何在 ruleguides.js 中找到准确的可拖动网格线位置?
【发布时间】:2014-12-26 06:42:35
【问题描述】:

我目前在rulerguides.js 工作。我为标尺和网格线定制了特定的 div。请参阅FIDDLE。标尺对我来说工作得很好,但可以拖动创建 div (GRID LINES) 仅从 body 元素计算,这意味着窗口的顶部和窗口的左边缘。在我的代码中,我可以发送特定的 div统治者

var evt         = new Event(),
    dragdrop    = new Dragdrop(evt),
    rg          = new RulersGuides(evt, dragdrop,document.getElementById('workarea'));

我需要从特定的 div 开始 (例如:ruler h unselectable 类将创建水平网格线,ruler v unselectable 类将在我的工作区创建垂直网格线。) 如何获得可拖动的起始元素?我需要特别开始 div 就像 image .

我挣扎了2天多。如何解决这个问题?

【问题讨论】:

    标签: javascript jquery html gridlines rulers


    【解决方案1】:

    实际上 RulersGuides.js 不打算在文档正文以外的容器中使用,所以我会考虑将它放在 iframe 中。 如果你真的需要将它放在一个 div 中,这里需要进行一些调整:

    1. 更新 getWindowSize、getScrollPos 和 getScrollSize 函数以计算容器尺寸。
    2. 你需要引入 vLowBound、vHighBound 等,而不是在 mousedown 处理程序中使用 vBound 和 hBound 等,其中将考虑容器的左侧和顶部偏移量,如下所示:

      if (vLowBound === 0) {
          vLowBound = container.offsetLeft;
          vHighBound = vRuler.offsetWidth + vLowBound;
          hLowBound = container.offsetTop;
          hHighBound = hRuler.offsetHeight + hLowBound;
      }
      

    适当的检查

    if (
        (
            (x > vLowBound && x < vHighBound) ||
            (y > hLowBound && y < hHighBound)
        ) && rulerStatus === 1
    )
    

    然后

    if (y > hLowBound && y < hHighBound) {
    

    } else if (x > vLowBound && x < vHighBound) {
    

    相应地

    1. 以同样的方式相应地更新 removeInboundGuide。

    除此之外,我认为在 dom 尺寸计算、对话框等方面需要进行一些更改。

    详情请参考以下jsfiddle

    【讨论】:

    • 嗨@Mark Rolich ..感谢您的宝贵回答。我对您的回答感到非常高兴。同时我会在给定的小提琴中将像素更改为英寸..您看到了吗?实现英寸的方式是否正确?或者对此有什么其他想法?
    • 嗨维维克。实际上,我认为将现实世界的测量单位(例如英寸)映射到在不同设备和屏幕尺寸上可能不同的像素是非常困难的。在github 上对此进行了讨论
    • @MarkRolich 很好的答案,+100
    • 嗨@MarkRolich..您绝对正确的屏幕分辨率会有所不同。但我有525 X 300 px,它将显示3.5x2英寸(包括150DPI)auctionrepair.com/pixels.html。如何得到这个计算?
    猜你喜欢
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 2014-10-03
    • 2017-02-22
    相关资源
    最近更新 更多