我正在尝试为我拥有的项目创建一个 gif 预加载器。在当前课程之前的课程中,我们被允许将 JS 内联,如下所示:
<script>
let loader = document.getElementById("loader");
window.addEventListener("load", function () {
loader.style.height = "400px";
loader.style.width = "400px";
loader.style.borderRadius = "50%";
loader.style.visibility = "hidden";
});
</script>
这使用以下 HTML 和 CSS 运行:
HTML
<div id="loader">
<img src="images/pepper.gif" alt="loading animation"/>
</div>
CSS
#loader {
height: 2000px;
width: 2000px;
background-color: black;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 999;
transition: all .5s;
}
#loader img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
这工作得很好。但是,在本课程中,要求我们将 JS 放在外部文件中。
我已经像这样链接了文件
<script src="js/index.js"></script>
在 HTML 的 head 标签中。
JS 看起来是这样的(我们需要使用 IIFE):
(function () {
"use strict";
let loader = document.getElementById("loader");
window.addEventListener("load", function () {
loader.style.height = "400px";
loader.style.width = "400px";
loader.style.borderRadius = "50%";
loader.style.visibility = "hidden";
});
})();
我的问题是,现在,当在外部文件中时,gif 将永远留在屏幕上。当它内联时,它会加载一段时间,然后显示站点的内容。谁能帮我解决这个问题?
阿波罗的战车
郎朗坤
随时随地看视频慕课网APP
相关分类