首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在rulerguides.js中找到精确的可拖网格线位置?

如何在rulerguides.js中找到精确的可拖网格线位置?
EN

Stack Overflow用户
提问于 2014-12-26 06:42:35
回答 1查看 1.4K关注 0票数 1

我目前在rulerguides.js工作。我为尺子和网格line.REFER定制了特定的div,小提琴。尺子对我来说很好,但拖动山墙创建div (网格线)仅从身体元素计算,这意味着窗口顶部和左边缘的window.Here在我的代码中,我可以发送特定的div为符。

代码语言:javascript
运行
复制
var evt         = new Event(),
    dragdrop    = new Dragdrop(evt),
    rg          = new RulersGuides(evt, dragdrop,document.getElementById('workarea'));

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

我正在为两个以上的days.How来解决这个问题而奋斗吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-26 12:19:03

实际上,RulersGuides.js并不打算在文档体以外的容器中使用,所以我会考虑将它放在iframe中。如果您确实需要将其放在div中,以下是需要进行的一些调整:

  1. 更新getWindowSize、getScrollPos和getScrollSize函数以计算容器尺寸。
  2. 不必在鼠标向下处理程序中使用vBound和hBound,您需要引入vLowBound、vHighBound等,其中将考虑容器的左偏移量和顶部偏移量,例如:if (vLowBound === 0) { vLowBound = container.offsetLeft;vHighBound = vRuler.offsetWidth + vLowBound;hLowBound = container.offsetTop;hHighBound = hRuler.offsetHeight +hLowBound};

有适当的检查

代码语言:javascript
运行
复制
if (
    (
        (x > vLowBound && x < vHighBound) ||
        (y > hLowBound && y < hHighBound)
    ) && rulerStatus === 1
)

然后

代码语言:javascript
运行
复制
if (y > hLowBound && y < hHighBound) {

代码语言:javascript
运行
复制
} else if (x > vLowBound && x < vHighBound) {

相应地

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

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

详情请参阅以下小提琴

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27653725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档