Bagaimana untuk melaksanakan pramuat imej dan pemuatan tertunda dengan Jquery_jquery
WBOY
Lepaskan: 2016-05-16 16:25:19
asal
982 orang telah melayarinya
Contoh dalam artikel ini menerangkan cara Jquery melaksanakan pramuat imej dan pemuatan tertunda. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
Terdapat banyak projek yang selalunya perlu menentukan sama ada untuk melaksanakan operasi yang sepadan selepas imej dimuatkan, atau melambatkan pemuatan imej Walaupun sudah ada pemalam yang sangat baik di Internet, ia sentiasa berasa janggal perlu memuatkan pemalam yang berasingan untuk kesan ini, saya baru sahaja menulis kaedah sendiri:
function loadimg(arr,funLoading,funOnLoad,funOnError){
var numLoaded=0,
numError=0,
isObject=Object.prototype.toString.call(arr)==="[objek Objek]" ?
var arr=isObject ? arr.get() : arr;
untuk(a dalam arr){
var src=isObject ? $(arr[a]).attr("data-src") : arr[a];
pramuat(src,arr[a]);
}
Perihalan parameter:
arr: Ia boleh menjadi tatasusunan untuk menyimpan laluan imej, atau ia boleh menjadi objek jquery bagi img yang dipilih;
funLoading: Operasi yang dilakukan selepas setiap imej individu dimuatkan;
funOnLoad: Operasi selepas semua imej dimuatkan;
funOnError: Operasi apabila ralat memuatkan imej tunggal berlaku.
var funloading=function(n,total,src,obj){
/*
n: Bilangan item yang dimuatkan;
jumlah: jumlah bilangan imej yang akan dimuatkan;
Dengan laluan imej yang dimuatkan semasa;
obj: Apabila arr diluluskan dalam fungsi loadimg ialah tatasusunan yang menyimpan laluan imej, obj=src ialah laluan imej,
Apabila arr ialah objek jquery, obj ialah objek img dom yang sedang dimuatkan.
*/
console.log(n "daripada" jumlah " gambar dimuatkan.",src);
var newimg = document.createElement("img");
newimg.src=src;
$("body").append(newimg).fadeIn();
}
var funloading_obj=function(n,total,src,obj){
console.log(n "daripada" jumlah " gambar dimuatkan.",src);
$(obj).attr("src",src);
$(obj).fadeIn(200);
}
var funOnError=function(n,total,src,obj){
console.log("the " n "st img loaded Ralat!");
}
Di atas ialah kaedah penulisan asal Seterusnya kami memperkenalkan pemalam jQuery untuk pemuatan malas imej berdasarkan Lazy Load
Lazy Load bergantung pada jQuery Sila tambahkan kod berikut pada kawasan kepala halaman:
Salin kod
Kod adalah seperti berikut:
Anda mesti mengubah suai kod HTML. Tetapkan imej simbol gerai dalam atribut src Halaman demo menggunakan imej GIF kelabu 1x1 Dan anda perlu menetapkan URL imej sebenar kepada atribut asal data kelas tertentu untuk mendapatkan objek imej yang malas dengan cara ini anda boleh mengawal pengikatan pemalam.
Ini akan menyebabkan semua imej dengan kelas malas dimuatkan dengan malas Anda boleh merujuk kepada demo pilihan asas
Tetapkan sensitiviti
JavaScript didayakan dalam hampir semua penyemak imbas Walau bagaimanapun, anda mungkin masih mahu memaparkan imej sebenar pada pelanggan yang tidak menyokong JavaScript Untuk merendahkan dengan anggun apabila penyemak imbas tidak menyokong JavaScript, anda boleh menulis serpihan imej sebenar
Dalam penyemak imbas yang menyokong JavaScript, anda mesti memaparkan ruang letak apabila DOM sedia, yang boleh dilakukan pada masa yang sama semasa pemalam dimulakan.
Ini adalah pilihan, tetapi perlu dilakukan jika anda mahu pemalam anda diturunkan taraf dengan anggun.
Tetapkan sensitiviti
Secara lalai, imej akan dimuatkan apabila ia muncul pada skrin. Jika anda ingin memuatkan imej terlebih dahulu, anda boleh menetapkan pilihan ambang kepada 200 untuk membuat imej dimuatkan terlebih dahulu 200 piksel jauh dari skrin
$("img.lazy").lazyload({ threshold : 200 });
Imej pemegang tempat
Anda juga boleh menetapkan imej pemegang tempat dan menentukan peristiwa untuk mencetuskan tindakan pemuatan Pada masa ini, anda perlu menetapkan alamat URL untuk imej 1x1 piksel telus, kelabu dan putih sudah disertakan dalam palam. masuk.
Pemuatan tercetus peristiwa
Acara ini boleh menjadi sebarang acara jQuery, seperti: klik dan alih tetikus Anda juga boleh menggunakan acara tersuai, seperti: sporty dan foobar Secara lalai, ia berada dalam keadaan menunggu sehingga pengguna menatal ke kedudukan gambar pada tetingkap berwarna kelabu Untuk mengelakkan imej pemegang tempat daripada dimuatkan sehingga ia diklik, anda boleh melakukan ini:
pemegang tempat: "img/grey.gif",
acara : "klik"
});
Gunakan kesan khas
Apabila imej dimuatkan sepenuhnya, pemalam menggunakan kaedah show() secara lalai untuk memaparkan imej, sebenarnya, anda boleh menggunakan sebarang kesan khas yang anda ingin proseskan Kod berikut menggunakan kesan FadeIn ialah halaman tunjuk cara
Anda boleh menggunakan pemalam pada imej dalam bekas boleh ditatal, seperti elemen DIV dengan bar skrol yang anda perlu lakukan ialah menentukan bekas sebagai objek jQuery dan menghantarnya sebagai parameter kepada kaedah permulaan halaman demo menatal mendatar dan halaman demo menatal menegak.
Apabila menatal halaman, Lazy Load akan melingkar melalui imej yang dimuatkan Dalam gelung, ia akan mengesan sama ada imej berada dalam kawasan yang boleh dilihat secara lalai, gelung akan berhenti apabila imej pertama yang tidak kelihatan kawasan ditemui. Imej dianggap Teragih dengan lancar, susunan imej dalam halaman adalah sama dengan susunan dalam kod HTML Tetapi dalam beberapa reka letak, andaian ini tidak benar pilihan had kegagalan
Tetapkan had kegagalan kepada 10 supaya pemalam berhenti mencari selepas menemui 10 imej yang tidak berada dalam kawasan yang boleh dilihat Jika anda mempunyai reka letak yang menyusahkan, sila tetapkan parameter ini lebih tinggi.
Malas memuatkan imej
Fungsi pemalam Lazy Load yang tidak lengkap, tetapi ia juga boleh digunakan untuk melaksanakan pemuatan malas imej Kod berikut melaksanakan pemuatan selepas halaman dimuatkan, imej dalam kawasan yang ditentukan akan Dimuatkan secara automatik Ini adalah halaman demo memuatkan malas.
Memuatkan imej tersembunyi
Mungkin terdapat banyak gambar tersembunyi yang terkubur pada halaman anda Contohnya, jika pemalam digunakan untuk menapis senarai, anda boleh mengubah suai status paparan setiap item dalam senarai secara berterusan Muatkan mengabaikan gambar tersembunyi secara lalai Jika anda ingin memuatkan imej tersembunyi, sila tetapkan skip_invisible kepada false
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