Rumah > hujung hadapan web > tutorial js > Bolehkah Imej Dimuatkan Secara Asynchronous dengan jQuery?

Bolehkah Imej Dimuatkan Secara Asynchronous dengan jQuery?

Susan Sarandon
Lepaskan: 2024-11-12 03:43:02
asal
928 orang telah melayarinya

Can Images Be Loaded Asynchronously with jQuery?

Memuatkan Imej Tak Segerak dengan jQuery

Soalan:

Mencuba memuatkan imej luaran secara tak segerak menggunakan jQuery dengan kod berikut:

$.ajax({ 
   url: "http://somedomain.com/image.jpg", 
   timeout:5000,
   success: function() {

   },
   error: function(r,x) {

   }
});
Salin selepas log masuk

menghasilkan respons ralat. Adakah pemuatan imej tak segerak mungkin dengan jQuery? Jika tidak, bagaimanakah imej boleh dimuatkan secara tak segerak?

Penyelesaian:

Pemuatan imej tak segerak memang boleh dilakukan dengan jQuery. Walau bagaimanapun, kaedah $.ajax() tidak sesuai untuk tugas ini. Sebaliknya, pendekatan pilihan adalah untuk mencipta elemen imej baharu secara dinamik dan melampirkan pengendali acara padanya:

var img = $("<img />").attr('src', 'http://somedomain.com/image.jpg')
    .on('load', function() {
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
            alert('broken image!');
        } else {
            $("#something").append(img);
        }
    });
Salin selepas log masuk

Kaedah ini menggunakan mekanisme pemuatan imej HTML5 asli, yang mencetuskan acara pemuatan apabila imej telah sepenuhnya dimuatkan. Dengan menyemak sifat lengkap, naturalWidth dan naturalHeight, anda boleh menentukan sama ada imej telah berjaya dimuatkan dan mengelakkan amaran imej rosak.

Atas ialah kandungan terperinci Bolehkah Imej Dimuatkan Secara Asynchronous dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan