明确设置加载顺序

时间:2010-07-30 18:35:14

标签: javascript

我有一点问题。

我需要在JS抽屉中显示一些页面加载时打开的安全信息。创建抽屉的图像有点沉重,因此抽屉中的安全文本在背景之前呈现,从而产生了非常难看的装载体验。有一种简单的方法我可以说

请勿加载safetyText UNTIL safetyBG已加载?

我们没有使用任何库(即jQuery),因此JS解决方案本身必须作为脚本工作。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您只需要在safetyBG满载后显示safetyText。要实现这一点,请隐藏safetyText,然后检查document.onload是否已加载safetyBG。如果是,则显示文本,如果没有,则附加函数以向securityBG.onload显示文本:

function showSafetyText() {
  //show text
}

window.onload = function() {

  var safetyBG = document.getElementById("safetyBG"); // tweak as necessary

  //have to check to see if img loaded, if you would simply assign showSafetyText
  //to img.onload, it would never run if the img was fully loaded already

  if (!safetyBG.complete) {
     safetyBG.onload = showSafetyText;
  } else {
     showSafetyText(); 
  } 

}

您在帖子中提到了图片(而不是单张图片)。如果是这种情况,你会想要编写一个循环遍历图像的函数来检查它们是否已经全部加载(这时你可以加载文本);然后将此函数附加到每个图像的onload事件(除非已加载所有图像,在这种情况下,您只需显示文本)。