如何将 html table 与自定义 canvas 绘图对齐
How to align html table to a customize canvas drawing
我需要构建一个 UI (HTML 5),其中包含两个主要组件:在 HTML 5 canvas 中绘制的自定义图表; table.
问题是图表必须与 table 对齐。如果水平滚动 table,图表内容也会滚动。
一个重要的限制是图表是非常定制的。我将无法使用任何现有的图表组件。我将不得不自己编写代码并将其绘制在 canvas 上。
我正在努力弄清楚该怎么做。如何在滚动期间触发 canvas 上的重绘?如何知道每个table单元格开头的canvas对应的坐标?如何编写两个组件的 HTML/CSS 以确保布局不会在不同的屏幕尺寸上中断?
我仍在计划这个项目,我很愿意使用任何 framework/language。
我这里需要点亮光。
你能帮忙吗?
谢谢!
您可以使用 jQuery scrollLeft() 获取滚动位置,并将 canvas 重绘函数设置为 jquery scroll() 以便在滚动位置发生变化时更新。
table = $('#container')
updatePosition = () => {
// Synchronize canvas here:
repaintCanvas(table.scrollLeft());
}
table.scroll(updatePosition);
这是一个演示 JSFiddle:http://jsfiddle.net/4eg39bfm/5/
我需要构建一个 UI (HTML 5),其中包含两个主要组件:在 HTML 5 canvas 中绘制的自定义图表; table.
问题是图表必须与 table 对齐。如果水平滚动 table,图表内容也会滚动。
一个重要的限制是图表是非常定制的。我将无法使用任何现有的图表组件。我将不得不自己编写代码并将其绘制在 canvas 上。
我正在努力弄清楚该怎么做。如何在滚动期间触发 canvas 上的重绘?如何知道每个table单元格开头的canvas对应的坐标?如何编写两个组件的 HTML/CSS 以确保布局不会在不同的屏幕尺寸上中断?
我仍在计划这个项目,我很愿意使用任何 framework/language。
我这里需要点亮光。
你能帮忙吗?
谢谢!
您可以使用 jQuery scrollLeft() 获取滚动位置,并将 canvas 重绘函数设置为 jquery scroll() 以便在滚动位置发生变化时更新。
table = $('#container')
updatePosition = () => {
// Synchronize canvas here:
repaintCanvas(table.scrollLeft());
}
table.scroll(updatePosition);
这是一个演示 JSFiddle:http://jsfiddle.net/4eg39bfm/5/