代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

显示加载图像仍显示“浏览器加载图像”图标

  •  0
  • leora Matt Lacey  · 技术社区  · 15 年前

    我运行这段代码来异步加载我的图像,并显示一个ajax加载图像,直到真正的图像被下载。

     $('img.loadable-image').css('background', 'transparent url(/images/ajax-loader1.gif) no-repeat center center')
    $('img.loadable-image').load(function() { $(this).css('background', ''); });
    

    这是我的原始图像html:

    <img class="loadable-image" src="mysite.com/validimage.jpg" border="0" height="50" width="50">
    

    以下是我得到的截图:

    alt text http://img820.imageshack.us/img820/3289/ajaxload.png

    有什么建议吗?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Andy E    15 年前

    看到了吗 http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.2 ,它定义了 <img> src

    src公司 <img> 标签。如果没有设置为有效的图像URL,您将得到“断开的图像”帧。设置src而不是背景(或将其设置为透明图像)或将其更改为 <span> 元素而不是 <img>

    无效,否

    <img alt="" style="width:50px; height:50px; background-image:url(bg.gif)" />
    

    属性:

    <img alt="" src="transparent.gif" 
         style="width:50px; height:50px; background-image:url(bg.gif)" />
    

    前任:

    <span class="loadable-image-container">
        <img class="loadable-image" src="mysite.com/validimage.jpg" 
            border="0" height="50" width="50">
    </span>
    

    jQuery,类似于:

    $('img.loadable-image-container')
        .css('background', 
          'transparent url(/images/ajax-loader1.gif) no-repeat center center')
        .children().css('visibility', 'hidden');
    
    $('img.loadable-image').load(function() { 
        $(this)
            .css('visibility', 'visible')
            .parent().css('background', ''); 
    });