如何通过在背景画布中绘制线条来连接两个 HTML 元素?

2023-11-22

可能更多的是一个数学问题,但这里是......

我想要做的是通过背景画布上的动画线连接两个 HTML 元素

这是我想做的事情的简化版本的小提琴。

http://jsfiddle.net/loupax/zUqXn/

这些线条实际上在那里,但它们在画布之外,如果您使用元素检查器,您可以看到画布中绘制线条的坐标。 有人可以帮助我解决我做错了什么并且线条画错位吗?

这证明了线条是画出来的,但位置不合适。 (用固定尺寸替换流体阶段和画布尺寸)

http://jsfiddle.net/loupax/zUqXn/8/

编辑 看起来我想要做的事情对于流体布局来说是不可能的。经过很多麻烦,我发现 Canvas 元素是它自己的平面,并且没有安全的方法将锚点坐标与没有固定大小的画布坐标相匹配


我已经找到了线路错位的原因。

看起来canvas的CSS宽度和高度与canvas元素的实际宽度和高度完全不同。因此,如果您希望使 HTML 元素的坐标与 Canvas 元素上的线条坐标相匹配,则需要在包含它的 div 上设置固定宽度,并直接在元素上设置相同且固定的宽度和高度

这是固定的示例,您可以看一下:

http://jsfiddle.net/loupax/zUqXn/29/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过在背景画布中绘制线条来连接两个 HTML 元素? 的相关文章

  • 聚合物在核心输入上使用功能验证

    有人可以解释一下如何使用函数验证吗这种聚合物元素 http www polymer project org docs elements core elements html core input 导航到 验证 部分
  • 在跨开口的 Bootstrap 弹出窗口中保留复选框

    我在引导弹出窗口内有复选框 我将其用作表单的一部分 当用户打开弹出窗口 选择一些复选框 关闭弹出窗口 然后重新打开弹出窗口时 我遇到问题 新打开的弹出窗口不会显示用户上次打开弹出窗口时选中的框 我需要用户的选择在弹出窗口启动时保持不变 我猜
  • 调用 jQuery 超大插件 onclick

    我正在尝试调用超大插件 http buildinternet com 2009 02 supersized full screen backgroundslideshow jquery plugin http buildinternet c
  • jquery数据表跨页行数

    我正在为我的 HTML 表使用 jQuery DataTables 插件 有没有办法跨页获取我的表格中的行数的行数 例如 如果我有70我的表中的行 比方说50其中显示在第一页上 并且20在第二页 有没有办法得到计数70 我已经尝试了这篇文章
  • JSF 不呈现自定义 HTML 标记属性

    我想向我的登录表单添加一些 iOS 特定的标签属性 如果我查看我的网页源代码 就会发现自动更正 自动大写和拼写检查属性不存在 这是什么原因呢 我正在使用 JSF 2 x
  • document.ready 之前的 Jquery UI 界面看起来很难看

    HTML 元素在 onload 或 document ready 被触发之前显示 所有 jQuery UI 小部件都在 document ready 上加载 这使得页面在最初几秒钟看起来很难看 处理它的可能选项 在使用 jQuery UI
  • CSS 网格/布局框架,专注于固定元素和单页全屏布局

    经验法则 如果您在布局中过多地使用 CSS 请切换到框架 我已经研究了数十个网格 布局框架 其中大多数都专注于传统的文档网格布局 我的页面更像是一个 SPA 单页应用程序 它类似于桌面应用程序使用的布局 显然 HTML 不能很好地处理这个问
  • 有没有办法让 jslint 在 javascript 的下一行中使用大括号?

    我改变了我的编码风格 function getParams entity use strict var accountID store getItem AccountID switch entity case Topic to functi
  • CSS 内边框?

    我纯粹用 CSS 创建了左侧的按钮 它是一个div 中的一个div 然而 右侧的三个按钮是background属性于img标签 我这样做是为了按照以下说明模拟翻转效果here http kyleschaeffer com best prac
  • 每n秒执行一次函数

    我制作了这个在 10 秒后点击链接的代码片段 function timeout window setTimeout function img left click 1000 setTimeout timeout 1000 timeout 我
  • 纯 JS 相当于 Jquery eq()

    jquery 的纯等价物是什么eq 例如 我怎样才能实现 class1 class2 eq 0 text 1254 在纯 JavaScript 中 要获取数组中的元素索引 可以使用 在 JavaScript 中 因此 要重现您的代码 您可以
  • JQGrid 列自定义..在运行时添加列

    我是 J Query 的新手 正在尝试一些示例http www trirand com blog jqgrid jqgrid html http www trirand com blog jqgrid jqgrid html我看到列名是用
  • CSS如何制作可滚动列表

    我正在尝试创建一个由标题和标题下方的项目列表组成的网页 我希望项目列表可以垂直滚动 我还希望网页占据整个窗口 但不要更大 目前我的问题是项目列表不可滚动 而是延伸到窗口底部下方很远 这导致窗口可滚动 应该做什么CSS属性位于html bod
  • 为什么 str.substr(0,4) 不是函数?

    我正在用 jQuery 制作一个脚本 我得到了以下数字7 2387 我所拥有的只是得到7 23 为此我编写了以下代码 var str 7 2387 var shorter str substr 0 4 但我收到这个错误 all js 55
  • 如何防止输入文本中出现“后重音”

    我相信这是一个简单的问题 但在谷歌上搜索几个小时后我找不到任何答案 也许我无法在搜索中使用正确的单词 P 我有一个 javascript 方法 可以防止用户用数字以外的其他字符填充文本框 如下面的代码所示 它在 KeyDown 事件中使用
  • 在 javascript 中实现固定位置会导致 Safari 滚动时出现抖动

    固定位置不适用于我的用例 因为它固定在浏览器窗口上 您可能会处于文本在屏幕右侧之外且无法到达的状态 无论如何 我尝试使用绝对定位 然后调整javascript中的 顶部 它在 Firefox 和 Chrome 中运行良好 但在 Safari
  • 如何在 Chrome 中获取 div 上的 keydown 事件?

    我想在 div 上获取 keydown 事件 我使用 JQuery keydown 很简单 但是 它不适用于 Chrome 为了在 chrome 上工作 我必须设置 tabindex 0 如果我这样做 Chrome 会在我的 div 周围放
  • 在“onClick”上切换 DIV 高度

    我想切换分区的高度 我尝试过将 animate 与 if else 语句一起使用 但它只会反弹 我现在使用的代码将隐藏我的分区而不是切换高度 点击时会触发 document ready function content1 toggle fu
  • 如何使用 Javascript 在 html 文件中搜索字符串?

    我有 5 个 html 文件 并且有一个搜索表单 我想用它来搜索这些 html 文件中的文本
  • html中锚标记中href和data-href的区别

    html中的href和data href属性有什么区别 a a 标签 我当前的代码写如下 a href verify phone process 1 html class btn btn default bubbla btn Sign In

随机推荐