javascript - Muatan imej js tidak dilaksanakan selepas imej dimuatkan
大家讲道理
大家讲道理 2017-05-19 10:12:08
0
4
586

1. Kesan yang diandaikan ialah setiap kali gambar dimuatkan, amaran "1", tetapi kesan sebenar ialah selepas semua gambar dimuatkan, amaran 4 kali
2.
//imgArray[ ] Terdapat 4 pautan gambar di sini, saya tidak akan menulisnya jika terlalu panjang
var count = 0;

for (var i = 0; i < imgArray.length; i++) {
    var imgobj = new Image();
    imgobj.onload = function () {
        alert("1");
        if (count == imgArray.length - 1) {
            loading.style.display = "none";
        }
        ++count;

    };

    imgobj.src = imgArray[i];
}
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(4)
phpcn_u1582
// 这是经典闭包问题了,最简单的方法,var改成let试试
for (let i = 0; i < imgArray.length; i++) {
    let imgobj = new Image();
    imgobj.onload = function () {
        alert("1");
        if (count == imgArray.length - 1) {
            loading.style.display = "none";
        }
        ++count;

    };

    imgobj.src = imgArray[i];
}
仅有的幸福

Tulis kaedah pemuatan dan ia dilakukan secara rekursif

巴扎黑

kiraan var = 0;
untuk (var i = 0; i < imgArray.length; i++) {

(function(){
    var imgobj = new Image();
    imgobj.onload = function () {
        alert("1");
        if (count == imgArray.length - 1) {
            loading.style.display = "none";
        }
        ++count;
    };
    imgobj.src = imgArray[i];
})(i)

}

仅有的幸福

Masalah telah selesai.Sepatutnya gambar itu salah dipetik.

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQIAJgAmAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICnKSwgIGRy8w hMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK... sedikit....

Di atas adalah alamat imej yang dipetik, tukar kepada yang berikut dan ia akan dilaksanakan biasanya,#🎜 🎜#https://ss1.bdstatic.com/70cF...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan