cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Muatan imej js tidak dilaksanakan selepas imej dimuatkan

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];
}
大家讲道理大家讲道理2770 hari yang lalu577

membalas semua(4)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-19 10:14:08

    // 这是经典闭包问题了,最简单的方法,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];
    }

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:14:08

    Tulis kaedah pemuatan dan ia dilakukan secara rekursif

    balas
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:14:08

    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)

    }

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:14:08

    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...

    balas
    0
  • Batalbalas