javascript动态创建Img-默认图片

javascript动态创建Img,然后检查状态,加载图像失败时使用默认图片代替


/*图片加载插件*/
$.fn.imagesLoaded = function (ok_handler, error_handler) {
    "use strict";
    var self = {
        blank: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",
        ok_handler: ok_handler, error_handler: error_handler
    }
    $(this).data("self", self).one("load", function () {
        var $img = $(this);
        var self = $img.data("self");
        if (this.src !== self.blank && undefined !== self.ok_handler )
            self.ok_handler.call(this);
        $img.removeData("self");
        self = null;
    }).one("error", function () {
        var $img = $(this);
        var self = $img.data("self");
        if ( undefined !== self.error_handler )
            self.error_handler.call(this);
        $img.removeData("self");
        self = null;
    }).each(function () {
        var self = $(this).data("self");
        // cached images don't fire load sometimes, so we reset src.
        if (this.complete || this.complete === undefined) {
            var src = this.src;
            // webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
            // data uri bypasses webkit log warning (thx doug jones)
            //this.src = '#'; 
            this.src = self.blank;
            this.src = src;
        }
    });
    return this;
};

使用方法

var $img = $(pself.doc.createElement("img")).hide()
.attr({ "src": $.getSerUrl("organization_getusersignature&userid=" + encodeURIComponent(args.row.data[0]) + "&v=" + new Date().getTime(), pself.head.gettoken()) })
.imagesLoaded(function () {
	var $img = $(this);
	var w = $img.width();
    var h = $img.height();
    if (h > 22) {
        var factor = w / h;
        $img.css({ "width": 22 * factor, "height": 22 });
    }
    $img.show();
}, function () {
    $(this).show();
});

图像加载失败时,用默认图片代替,如下图
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kmblack1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值