我正在使用javascript构建一个包含许多移动图形/文本元素的网页,我使用div
为每个元素,但在我的手机上它很慢。
有没有提示让它更快?例如,如果我的容器div
overflow
样式设置为hidden
,则速度更快。
使用SVG或其他东西也更好吗?
答案 0 :(得分:0)
即使在桌面浏览器上,处理DOM元素也是一件很重要的事情,而且效率也很低。但是有很好的库来处理DOM元素,比如动画,移动它们,以编程方式设置它们等等。例如,JQuery使不同平台/浏览器组合更容易,更健壮。但是缓慢的问题是DOM本身,而不是JS,而不是你编写的代码以及你如何处理它。
所以你是对的!你最好使用除了DOM以外的东西,SVG让事情变得更好。老实说,我不太了解它,每次看到它的语法,它都是可怕的!但我知道它拥有自己的动画系统,并且比其他DOM元素更轻量级。
但我建议你画布。它比HTML5更快,并且它的语法比处理DOM元素(即div)和绘制SVG(即80 M 62.5 D 10)更美观。 Canvas使用漂亮的JS函数API,逻辑上易于理解和设计。你所做的就是pureJS。帆布的性能也证明是伟大的!例如:https://robostorm.io/
它提供了Adobe Flash的美感和功能,但JS的可移植性:)