程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了除非 onload="init() 在 body 标签内,否则 HTML5 JavaScript Animation 不会播放。为什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决除非 onload="init() 在 body 标签内,否则 HTML5 JavaScript Animation 不会播放。为什么??

开发过程中遇到除非 onload="init() 在 body 标签内,否则 HTML5 JavaScript Animation 不会播放。为什么?的问题如何解决?下面主要结合日常开发的经验,给出你关于除非 onload="init() 在 body 标签内,否则 HTML5 JavaScript Animation 不会播放。为什么?的解决方法建议,希望对你解决除非 onload="init() 在 body 标签内,否则 HTML5 JavaScript Animation 不会播放。为什么?有所启发或帮助;

阅读另一篇文章后,我仍然对onload感到困惑。 SetTing body onload without using the <body> tag

在三种浏览器(edge、firefox 和 Chrome)中成功测试来自 Adob​​e Animate 2021 的动画后,我计划将其添加到我的 Dreamweaver 2021 项目中。我注意到“adobe-animation.HTML”中的标签在第一个 body 标签下方有动画画布。

<head>
<script>
....
</script>
</head>
<body onload="init();" style="margin:0px;"> //start of animation Tags
.....
</body>

更改标签并将其添加到我的项目后,动画没有播放。

我回到“adobe-animation.HTML”,只将 body 标记更改为 div 并将其嵌套在新的 body 中。

<body>
<div onload="init();" style="margin:0px;">      //originally <body>
....
</div>                                         //originally </body>
</body>

它没有像我预期的那样奏效。

经过进一步测试。我注意到 onload="init() 需要在 body 标签内。什么是 onload="init()?为什么它需要在第一个 body 标签内?

解决方法

使用addEventListener

没有足够的信息说明为什么不调用它,但是直接分配事件是不好的做法,因为它们很容易被您或某些 3rd 方脚本覆盖,因此不能保证会调用侦听器。

你永远不应该使用

<sometag onsomeevent = "doSomething()"/>

始终使用 EventTarget.addEventListener

分配事件侦听器

在这种情况下最好使用的 eventTarget 是 window AKA globalThis。

因此您可以使用

调用 init
<script>

// guarantee init is called
addEventListener("load",init(),{once: truE}); // same as window.addEventListener but window
                                                // is the default object an thus not required

function init() { /*code*/ } 

</script>

大佬总结

以上是大佬教程为你收集整理的除非 onload="init() 在 body 标签内,否则 HTML5 JavaScript Animation 不会播放。为什么?全部内容,希望文章能够帮你解决除非 onload="init() 在 body 标签内,否则 HTML5 JavaScript Animation 不会播放。为什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。