如何在页面加载图像时显示文本轮播
how to display a textual carousel while the page loading the images
我有一个图片较多的网页。 200 张图片总计 100Mb 左右。
我可以延迟加载它们,但我想尝试不同的技术。
在幕后下载图像时显示 "page-loading-indicator" 屏幕(很痛苦),但更重要的是,在那个 "page-loading-indicator screen" 中,显示一些口号很好地相互过渡以保持用户忙碌.
这里需要用到什么技巧?
一个接一个地显示一组短语是没有问题的,但是我们如何在页面加载时显示它们,以及如何在最后一张图像下载后将其取走?
这里是自定义事件创意的演示。
我们显示页面正在加载 div 并等待自定义事件,在演示中这只是在 setTimeout 上触发。但是它给了你工作原理。
document.addEventListener('DOMContentLoaded', () => {
document.addEventListener('PageIsLoaded', pageLoaded);
// dummy (this would actually be called when images are loaded)
setTimeout(() => {
console.log('loaded');
document.dispatchEvent(new CustomEvent('PageIsLoaded'));
}, 3000);
});
function pageLoaded() {
document.querySelectorAll('div').forEach(d => d.classList.toggle('hide'));
}
.hide {
display: none;
}
<div class="loading">The page is loading</div>
<div class="loaded hide">The page has loaded</div>
我有一个图片较多的网页。 200 张图片总计 100Mb 左右。 我可以延迟加载它们,但我想尝试不同的技术。
在幕后下载图像时显示 "page-loading-indicator" 屏幕(很痛苦),但更重要的是,在那个 "page-loading-indicator screen" 中,显示一些口号很好地相互过渡以保持用户忙碌.
这里需要用到什么技巧? 一个接一个地显示一组短语是没有问题的,但是我们如何在页面加载时显示它们,以及如何在最后一张图像下载后将其取走?
这里是自定义事件创意的演示。 我们显示页面正在加载 div 并等待自定义事件,在演示中这只是在 setTimeout 上触发。但是它给了你工作原理。
document.addEventListener('DOMContentLoaded', () => {
document.addEventListener('PageIsLoaded', pageLoaded);
// dummy (this would actually be called when images are loaded)
setTimeout(() => {
console.log('loaded');
document.dispatchEvent(new CustomEvent('PageIsLoaded'));
}, 3000);
});
function pageLoaded() {
document.querySelectorAll('div').forEach(d => d.classList.toggle('hide'));
}
.hide {
display: none;
}
<div class="loading">The page is loading</div>
<div class="loaded hide">The page has loaded</div>