Javascript 用于滚动窗格的HTML5画布与div

Javascript 用于滚动窗格的HTML5画布与div,javascript,html,canvas,Javascript,Html,Canvas,我在做电视指南。有关使用画布的示例实现,请参见 我需要做很多小盒子来代表每一场演出。我需要能够滚动他们左右,既垂直(频道)和水平(时间)。为了使用画布,我的理解是,实现滚动的唯一方法是截取正确的事件,并以每秒多次的新偏移量平滑地重新绘制画布 如果我使用divs,我可以在它上面加上滚动条,让它正常滚动。我可以定位它们一次,让滚动移动它们,而不是重新计算它们的新偏移量 我应该为这类项目选择哪一个?如果我使用divs,会不会太慢?有些阵容有500个频道。我想一次最多显示4个小时 谢谢 用DIV做这件事

我在做电视指南。有关使用画布的示例实现,请参见

我需要做很多小盒子来代表每一场演出。我需要能够滚动他们左右,既垂直(频道)和水平(时间)。为了使用画布,我的理解是,实现滚动的唯一方法是截取正确的事件,并以每秒多次的新偏移量平滑地重新绘制画布

如果我使用divs,我可以在它上面加上滚动条,让它正常滚动。我可以定位它们一次,让滚动移动它们,而不是重新计算它们的新偏移量

我应该为这类项目选择哪一个?如果我使用divs,会不会太慢?有些阵容有500个频道。我想一次最多显示4个小时


谢谢

用DIV做这件事不会有速度方面的问题。浏览器渲染引擎用于渲染元素。DOM渲染在很多情况下都比画布渲染快,假设他们使用基于DOM的渲染来渲染数千个元素,以制作游戏,您应该根据自己的技术能力来实现它。这两种技术都能满足您的需求。我个人会选择canvas,但我认为DOM渲染没有问题


祝你好运

用DIV做这件事不会有速度方面的问题。浏览器渲染引擎用于渲染元素。DOM渲染在很多情况下都比画布渲染快,假设他们使用基于DOM的渲染来渲染数千个元素,以制作游戏,您应该根据自己的技术能力来实现它。这两种技术都能满足您的需求。我个人会选择canvas,但我认为DOM渲染没有问题


祝你好运

对于交互式元素,我强烈建议优先使用纯HTML而不是canvas。除了速度问题(div通常比自己手动绘制要快),HTML被设计为免费提供可访问性和可用性功能,您甚至需要做大量工作才能部分从画布获得这些功能

链接的基于画布的指南有以下缺点:

  • 对我来说,渲染/滚动速度非常慢
  • 不受键盘导航的影响
  • 无HTML链接操作(如中键单击链接在新选项卡中打开或右键单击书签)
  • 文本不可复制/复制
  • 屏幕阅读器等辅助工具的彻底丧失
  • 减少浏览器兼容性
  • 搜索引擎看不见

使用canvas获得普通HTML无法实现的图形化和交互式效果。老实说,我甚至在I.tv的网站上都没有看到这些;我不知道他们为什么会以这种看似疯狂的方式实现它。

我强烈建议,对于交互元素,使用纯HTML优先于画布。除了速度问题(div通常比自己手动绘制要快),HTML被设计为免费提供可访问性和可用性功能,您甚至需要做大量工作才能部分从画布获得这些功能

链接的基于画布的指南有以下缺点:

  • 对我来说,渲染/滚动速度非常慢
  • 不受键盘导航的影响
  • 无HTML链接操作(如中键单击链接在新选项卡中打开或右键单击书签)
  • 文本不可复制/复制
  • 屏幕阅读器等辅助工具的彻底丧失
  • 减少浏览器兼容性
  • 搜索引擎看不见

使用canvas获得普通HTML无法实现的图形化和交互式效果。老实说,我甚至在I.tv的网站上都没有看到这些;我不知道他们为什么用这种看似疯狂的方式实现它。

事实上,ISOGENICE引擎在我们制作的所有视频和演示中都使用画布。DOM渲染是一个选项,但在大多数情况下,我们的画布渲染器足够快,可以一次处理屏幕上实体的加载和加载!画布不会变慢,除非你有很多移动的元素并且没有优化你的渲染过程,DOM渲染允许你快速渲染而不需要太多的努力。。。DOM渲染没有什么问题!这是很久以前的事了,当时我相信我看到的演示视频使用的是基于DOM的渲染。无论哪种方式,它都是一个看起来很棒的引擎!实际上,Isogene引擎使用画布制作我们制作的所有视频和演示。DOM渲染是一个选项,但在大多数情况下,我们的画布渲染器足够快,可以一次处理屏幕上实体的加载和加载!画布不会变慢,除非你有很多移动的元素并且没有优化你的渲染过程,DOM渲染允许你快速渲染而不需要太多的努力。。。DOM渲染没有什么问题!这是很久以前的事了,当时我相信我看到的演示视频使用的是基于DOM的渲染。无论哪种方式,它都是一个看起来很棒的引擎!