Masalah:
Masalahnya disebut "Layout Thrashing" dan terjadi karena browser mencoba untuk segera menyegarkan/menggambar ulang setiap kali Raphael menggambar.
Misalnya, hal ini akan menyebabkan kerusakan tata letak:
var a = document.getElementById('element-a');
var b = document.getElementById('element-b');
a.clientWidth = 100;
var aWidth = a.clientWidth;
b.clientWidth = 200;
var bWidth = b.clientWidth;
"Dalam contoh sederhana ini, browser akan memperbarui seluruh tata letak dua kali. Hal ini karena setelah menyetel lebar elemen pertama, Anda meminta untuk mengambil lebar elemen. Saat mengambil properti css, browser mengetahui bahwa ia memerlukan data yang diperbarui, sehingga lalu pergi dan memperbarui seluruh pohon DOM di memori. Hanya kemudian, ia akan melanjutkan ke baris berikutnya, yang akan segera menyebabkan pembaruan lain karena alasan yang sama."
Hal ini dapat dengan mudah diperbaiki dengan mengubah urutan kode, sebagai berikut:
var a = document.getElementById('element-a');
var b = document.getElementById('element-b');
a.clientWidth = 100;
b.clientWidth = 200;
var aWidth = a.clientWidth;
var bWidth = b.clientWidth;
"Sekarang, browser akan memperbarui kedua properti satu demi satu tanpa memperbarui pohonnya."
Sumber:
https://blog.idrsolutions.com/2014/08/beware-javascript-layout-thrashing/
http://www.codeproject.com/Articles/758790/Debugging-and-solving-the-Forced-Synchronous-Layou
http://www.stubbornella.org/content/2009/03/27/reflows-repaints-css-Performance-making-your-javascript-slow/
https://dev.opera.com/articles/efisien-javascript/?page=3#reflow
Solusi:
Salah satu cara untuk memperbaikinya (cara yang sangat cepat dan kotor) adalah dengan menyembunyikan() div yang Anda gambar, lalu, setelah selesai, menampilkan() div tersebut . Saya telah mendapat untung-untungan dalam hal ini dengan Raphael, dan ini menjadi aneh. Namun lebih cepat...
"Ketika suatu elemen memiliki gaya tampilan yang tidak disetel, elemen tersebut tidak perlu dicat ulang, meskipun isinya diubah, karena elemen tersebut tidak ditampilkan. Ini dapat digunakan sebagai keuntungan. Jika beberapa perubahan perlu dilakukan pada sebuah elemen elemen atau isinya, dan tidak mungkin untuk menggabungkan perubahan ini menjadi satu pengecatan ulang, elemen dapat diatur ke display:none, perubahan dapat dilakukan, kemudian elemen dapat diatur kembali ke tampilan normalnya."
Inilah hasilnya:
![masukkan deskripsi gambar di sini](https://i.stack.imgur.com/QVks4.jpg)
Cara ini berhasil untuk saya!
person
Katie
schedule
20.02.2015
lopaLayoutArray
dapat membantu mencari tahu dengan tepat di mana ini sedang terjadi - person konkked   schedule 20.02.2015