【问题标题】:Display full page image after image is loaded加载图像后显示整页图像
【发布时间】:2013-08-09 19:31:18
【问题描述】:

如何仅在加载后显示图像,但页面的其余部分正常显示?在每个页面上我都有类似<html class"page-name"> 的内容,css 如下html.page-name { background: url(images/page-name.jpg) no-repeat center center fixed; background-size: cover; }

我尝试将 javascript 设置为 $(window).load(function(){ $('html').fadeIn(1500); });

但这显然不起作用,因为在加载图像之前,孔页是空白的。我希望在加载图像之前背景为黑色,然后将其替换为黑色背景。我也试过$(window).load(function(){ $('html').addClass('page-title'); }); 其中page-title 类具有过渡效果,但也不起作用。

如何实现这一点,有黑色背景并在完全加载后将其替换为图像?

谢谢。

【问题讨论】:

标签: jquery css window domcontentloaded


【解决方案1】:

动态加载图像,然后在加载时将其添加到背景

$(document).ready(function(){
    var img = new Image();
    img.onload = function(){
      // image  has been loaded
      $("html.page-name").css("background-image","url('"+image_url+"')");
    };
    img.src = image_url;
})    

【讨论】:

  • 如果我们有多个像这样加载的图像,我们将如何在加载时为每个图像获取 image_url?
  • @mebjas 我没有正确回答您的问题。对于多个图像,您必须编写单独的加载处理程序
【解决方案2】:

jQuery:

// Wait for page load
$(function() {
  // apply background image class to body (fade over 500 milliseconds)
  $('body').addClass('page-title', 500);
});

CSS:

.page-title {
   background-image: url('/path_to/image.jpg');
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多