【问题标题】:JS onpage/window load [duplicate]JS页面/窗口加载[重复]
【发布时间】:2017-06-03 19:39:02
【问题描述】:

我想在页面加载时或加载所有元素后运行此脚本。

JavaScript

<script type="text/javascript">
    function backgroundload (){
          $(".portfolio-background-color")
              var color = /#[0-9\A-F]+/.exec($(this).html())[0];
              $(this).css('background', color)
      }
       window.onload = backgroundload;
</script>

我是js新手,请检查我的代码是否正常以及加载js的正确方法

【问题讨论】:

  • 自己尝试一下,看看浏览器控制台。你会看到一些错误。

标签: javascript


【解决方案1】:

所有 Javascript 在页面加载时运行。如果您的意思是希望它在页面中的所有元素都已初始化后运行,有几种方法:

  • window.onload
  • document.onload
  • body.onload
  • $(document).ready

对于前三个的支持,以及它们之间的区别,有更深入的解释,here$(document).ready 的文档是 here

但是,根据我的经验,确保脚本在所有同步加载的内容之后运行的最简单方法是将&lt;script&gt; 元素放在&lt;body&gt; 的底部。

【讨论】:

  • 加载完所有元素后。
  • 所有这些都会在某种程度上实现这一点,但正如我所说,最简单和最防弹的就是将脚本元素放在元素之后。
  • +1 到 @furkle 。在某些情况下,如果将其放在&lt;body&gt; 的顶部,脚本将无法捕获正确的元素
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-27
  • 2019-03-17
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
相关资源
最近更新 更多