Meningkatkan kelajuan pemaparan halaman: Kaedah utama untuk mengoptimumkan aliran semula dan lukisan semula memerlukan contoh kod khusus
Dengan pembangunan aplikasi web, pengguna mempunyai keperluan yang lebih tinggi dan lebih tinggi untuk kelajuan pemuatan halaman. Kelajuan pemaparan halaman dipengaruhi oleh aliran semula dan lukisan semula, jadi kami perlu mengoptimumkan kedua-dua proses ini untuk meningkatkan kelajuan pemaparan halaman. Artikel ini akan memperkenalkan beberapa kaedah utama dan menyediakan contoh kod khusus.
Gunakan transformasi dan bukannya atas/kiri
Apabila menukar kedudukan elemen, jika anda menggunakan atas atau kiri untuk menukar kedudukan elemen, reflow dan redraw akan dicetuskan. Menggunakan atribut transform boleh mengelakkan pengaliran semula dan hanya akan mencetuskan lukisan semula. Kod khusus adalah seperti berikut:
.element { transform: translate(100px, 100px); }
Gunakan keterlihatan dan bukannya paparan
Apabila anda perlu menyembunyikan elemen, jika anda menggunakan paparan: tiada untuk menyembunyikan elemen, aliran semula dan lukis semula akan dicetuskan. Menggunakan keterlihatan: tersembunyi boleh mengelakkan aliran semula dan hanya akan mencetuskan lukisan semula. Kod khusus adalah seperti berikut:
.element { visibility: hidden; }
Pengubahsuaian kelompok DOM
Apabila berbilang atribut DOM perlu diubah suai secara berterusan, jika setiap atribut ditetapkan secara berasingan, berbilang aliran semula dan lukisan semula akan dicetuskan. Dengan mengubah suai className elemen dan kemudian menggunakan CSS untuk mengubah suai berbilang atribut serentak, bilangan aliran semula dan lukis semula boleh dikurangkan. Kod khusus adalah seperti berikut:
document.getElementById("element").className = "newClassName";
Menggunakan DocumentFragment
Apabila sebilangan besar nod DOM perlu dimasukkan, jika ia dimasukkan terus ke dalam halaman, berbilang aliran semula dan lukisan semula akan dicetuskan. Menggunakan DocumentFragment, anda boleh mula-mula mencipta nod induk maya, memasukkan semua nod DOM ke dalam nod, dan kemudian memasukkannya ke dalam halaman sekaligus, yang boleh mengurangkan bilangan aliran semula dan lukisan semula. Kod khusus adalah seperti berikut:
var fragment = document.createDocumentFragment(); for (var i = 0; i < 1000; i++) { var div = document.createElement("div"); fragment.appendChild(div); } document.body.appendChild(fragment);
Gunakan requestAnimationFrame
Apabila beberapa kesan animasi diperlukan, jika anda menggunakan setTimeout atau setInterval untuk mengemas kini gaya elemen, berbilang aliran semula dan lukisan semula akan dicetuskan. Menggunakan requestAnimationFrame membolehkan penyemak imbas melakukan operasi kemas kini sebelum lukisan semula seterusnya, yang boleh mengurangkan aliran semula dan lukisan semula yang tidak perlu. Kod khusus adalah seperti berikut:
function update() { // 更新元素的样式 } requestAnimationFrame(update);
Di atas ialah beberapa kaedah utama untuk mengoptimumkan aliran semula dan lukisan semula saya harap ia dapat membantu semua orang meningkatkan kelajuan pemaparan halaman. Sudah tentu, terdapat banyak kaedah pengoptimuman khusus, dan anda perlu memilih kaedah yang sesuai mengikut halaman dan keperluan tertentu. Saya harap contoh kod yang disediakan dalam artikel ini membantu anda.
Atas ialah kandungan terperinci Tingkatkan kelajuan pemaparan halaman: cara utama untuk mengoptimumkan aliran semula dan lukis semula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!