Javascript 在脚本标记中添加延迟时,Materialize js未工作
在脚本标记中添加async或defer时,我面临一个问题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
<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>