【发布时间】:2020-06-18 21:12:26
【问题描述】:
我正在使用 Sweetalert2 来显示一个内部有图像的模式。虽然它工作正常,但没有图像的模态会在图像出现之前显示一瞬间。我怎样才能等到图像完全加载。这是我尝试过但不起作用的方法:(在页面加载时调用 loadPage。)
function loadPage() {
var img = new Image();
img.onload = function () { setTimeout(function () { getToast(); }, 5000); }
img.src = "Images/Save.png";
}
function getToast() {
const Toast = Swal.mixin({
toast: false,
showConfirmButton: true,
confirmButtonText: 'close',
timer: 6000,
imageUrl: 'Images/Save.png',
timerProgressBar: true,
title: 'My message.',
})
Toast.fire({
})
}
【问题讨论】:
-
由于使用了 css 样式(与 flex 尺寸的交互),当图像的高度超过一定尺寸时,会出现回流问题,因为图像跳跃。您必须将图像尺寸设置为较小的尺寸或将图像附加到页脚之后。这不是由于预加载,另一个修复方法是事先手动强制元素的大小,这需要覆盖默认样式