Javascript 在脚本标记中添加延迟时,Materialize js未工作

Javascript 在脚本标记中添加延迟时,Materialize js未工作,javascript,materialize,Javascript,Materialize,在脚本标记中添加async或defer时,我面临一个问题 <script type='text/javascript' async defer src='materialize.js'></script> 这就是我正在尝试的 document.addEventListener('DOMContentLoaded', function() { var elemt = document.querySelector('.carousel-top'); var

在脚本标记中添加async或defer时,我面临一个问题

<script type='text/javascript' async defer src='materialize.js'></script>
这就是我正在尝试的

document.addEventListener('DOMContentLoaded', function() {

    var elemt = document.querySelector('.carousel-top');
    var itm_elemt = document.querySelector('.carousel-item img');
    if(itm_elemt != null){
        elemt.style.height = itm_elemt.offsetHeight+'px';
    }
    M.Carousel.init(elemt, {numVisible : 3, dist:0, shift: 8});
});
我不知道如何解决此错误请帮助

异步
延迟
? 假设页面中包含以下脚本:

<script src="a.js"></script>
<script src="b.js"></script>
如果您的脚本是内联的(即直接在HTML中),您可以使用以下技术,使用js而不是HTML
标记加载
materialize.js
,并等待其
load
事件触发:

<script>
document.addEventListener('DOMContentLoaded', function() {
  // Add the script in the page
  var script = document.createElement('script');
  script.onload = runMyScript;
  script.src = "materialize.js";
  document.head.appendChild(script);

  function runMyScript() {
    // M is now available
    var elemt = document.querySelector('.carousel-top');
    var itm_elemt = document.querySelector('.carousel-item img');
    if (itm_elemt != null) {
      elemt.style.height = itm_elemt.offsetHeight + 'px';
    }
    M.Carousel.init(elemt, {
      numVisible: 3,
      dist: 0,
      shift: 8
    });
  }
});
</script>

document.addEventListener('DOMContentLoaded',function(){
//在页面中添加脚本
var script=document.createElement('script');
script.onload=runMyScript;
script.src=“materialize.js”;
document.head.appendChild(脚本);
函数runMyScript(){
//M现在可用
var elemt=document.querySelector('.carousel-top');
var itm_elemt=document.querySelector(“.carousel item img”);
如果(itm_elemt!=null){
elemt.style.height=itm_elemt.offsetHeight+‘px’;
}
M.Carousel.init(元素{
数字:3,
地区:0,,
班次:8
});
}
});
<script src="materialize.js" defer></script>
<script src="myScript.js" defer></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
  // Add the script in the page
  var script = document.createElement('script');
  script.onload = runMyScript;
  script.src = "materialize.js";
  document.head.appendChild(script);

  function runMyScript() {
    // M is now available
    var elemt = document.querySelector('.carousel-top');
    var itm_elemt = document.querySelector('.carousel-item img');
    if (itm_elemt != null) {
      elemt.style.height = itm_elemt.offsetHeight + 'px';
    }
    M.Carousel.init(elemt, {
      numVisible: 3,
      dist: 0,
      shift: 8
    });
  }
});
</script>