第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

jQuery對(duì)圖像加載的回調(diào)(即使在緩存映像時(shí)也是如此)

jQuery對(duì)圖像加載的回調(diào)(即使在緩存映像時(shí)也是如此)

BIG陽(yáng) 2019-06-01 13:28:45
jQuery對(duì)圖像加載的回調(diào)(即使在緩存映像時(shí)也是如此)我想做的是:$("img").bind('load', function() {   // do stuff });但是,當(dāng)從緩存加載圖像時(shí),LOAD事件不會(huì)觸發(fā)。jQuery文檔建議插件來(lái)解決這個(gè)問(wèn)題,但是不管用
查看完整描述

3 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

我可以建議您將其重新加載到非DOM映像對(duì)象中嗎?如果它是緩存的,這將不會(huì)花時(shí)間,而且負(fù)載仍然會(huì)啟動(dòng)。如果沒(méi)有緩存,它將在加載映像時(shí)觸發(fā)onload,這應(yīng)該與映像的DOM版本完成加載的時(shí)間相同。

JavaScript:

$(document).ready(function() {
    var tmpImg = new Image() ;
    tmpImg.src = $('#img').attr('src') ;
    tmpImg.onload = function() {
        // Run onload code.
    } ;
}) ;

更新(處理多個(gè)圖像和正確排序的onload附件):

$(document).ready(function() {
    var imageLoaded = function() {
        // Run onload code.
    }
    $('#img').each(function() {
        var tmpImg = new Image() ;
        tmpImg.onload = imageLoaded ;
        tmpImg.src = $(this).attr('src') ;
    }) ;
}) ;


查看完整回答
反對(duì) 回復(fù) 2019-06-01
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

我的簡(jiǎn)單解決方案,它不需要任何外部插件,對(duì)于普通情況應(yīng)該足夠了:

/**
 * Trigger a callback when the selected images are loaded:
 * @param {String} selector
 * @param {Function} callback
  */
var onImgLoad = function(selector, callback){
    $(selector).each(function(){
        if (this.complete || /*for IE 10-*/ $(this).height() > 0) {
            callback.apply(this);
        }
        else {
            $(this).on('load', function(){
                callback.apply(this);
            });
        }
    });
};

像這樣使用它:

onImgLoad('img', function(){
    // do stuff
});

例如,要在加載時(shí)淡出圖像,可以這樣做:

$('img').hide();
onImgLoad('img', function(){
    $(this).fadeIn(700);
});

或者,如果您更喜歡類似jQuery插件的方法,那么可以這樣做:

/**
 * Trigger a callback when 'this' image is loaded:
 * @param {Function} callback
 */
(function($){
    $.fn.imgLoad = function(callback) {
        return this.each(function() {
            if (callback) {
                if (this.complete || /*for IE 10-*/ $(this).height() > 0) {
                    callback.apply(this);
                }
                else {
                    $(this).on('load', function(){
                        callback.apply(this);
                    });
                }
            }
        });
    };
})(jQuery);

并以這樣的方式使用:

$('img').imgLoad(function(){
    // do stuff
});

例如:

$('img').hide().imgLoad(function(){
    $(this).fadeIn(700);
});


查看完整回答
反對(duì) 回復(fù) 2019-06-01
  • 3 回答
  • 0 關(guān)注
  • 569 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)