【问题标题】:Display background gif only after it is fully loaded? [duplicate]仅在完全加载后才显示背景gif? [复制]
【发布时间】:2016-03-03 13:36:39
【问题描述】:

这是我的fiddle 演示。

大多数浏览器在加载 gif 图像时会在加载时逐帧显示,这会破坏效果。我如何跳过加载部分并直接显示淡入的图像。

.initials {
position:absolute;
background:{color:main color};
background-image: url("http://static.tumblr.com/lxn1yld/Hnxnxaqya/space.gif");
color:white;
padding-top:20px;
padding-bottom:20px;
width:60px;
text-align:center;
font-size:20px;
box-shadow:0px 2px 3px rgba(0,0,0,.15); }

【问题讨论】:

标签: javascript html css tumblr gif


【解决方案1】:

一种方法是在 JavaScript 中加载图像,一旦加载(使用onload 处理程序),将其设置在您关心的元素上。

例如:

$(function () {
    var src = "http://static.tumblr.com/lxn1yld/Hnxnxaqya/space.gif";
    var $e = $(".initials").css({ opacity : 0 });
    var img = new Image();
    img.onload = function () {
       $e.css({
            'background-image': "url(" + src + ")",
        }).animate({ opacity : 1.0}, 3000);
    };
    img.src = src;
});

(示例使用 jQuery 只是为了方便。)

这是使用上述内容的小提琴:http://jsfiddle.net/zg24xcxx/5/

【讨论】:

  • 整个 div 获得淡入效果。在 gif 完全加载之前背景是否可能是黑色的,然后只有 gif 必须淡入。jsfiddle.net/63utadgw/17
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多