Tôi đã thử nghiệm một cái gì đó tôi đọc trước đó về cách ngẫu nhiên Math.random()
thực sự là, và muốn hiển thị 10000 con số mà đã được coi là một số ngẫu nhiên giữa 0 và 10000000.jQuery html() diễn xuất rất chậm
Để xem thử nghiệm, tôi đã chọn để chỉ tham gia mảng các số ngẫu nhiên vào một chuỗi với <br>
giữa mỗi số nguyên. Và sau đó tôi chỉ làm $("#"+elm).html(randomNumberString);
mà đã thực sự chậm. Tôi chỉ nghĩ rằng đó là thế hệ và sắp xếp các số ngẫu nhiên thành một mảng. Nhưng khi tôi bắt đầu đặt hẹn giờ trong mã của tôi, nó đã nhận được appearant rằng đó là đầu ra đã làm chậm tất cả mọi thứ xuống.
Cũng giống như một thử nghiệm tôi đã làm document.getElementById(elm).innerHTML = randomNumberString;
jQuery.html(): 2500ms getElementById.innerHTML: 170ms
tôi đã cố gắng này trên tất cả 5 trình duyệt, và những con số đã tiến rất gần trong tất cả các trình duyệt. .. Tôi có sử dụng jQuery sai trong trường hợp này? Tôi cũng đã thử nối thêm và tìm nạp phần tử trước khi bộ hẹn giờ bắt đầu, vì vậy tôi có thể chỉ cần thực hiện $(elm).html()
, nhưng điều đó không giúp ích gì. Có vẻ như chức năng html()
thực sự đang làm chậm mọi thứ xuống ..?
EDIT tôi đã kết thúc làm điều này:
randomStringNumber = "<div>" + randomStringNumber + "</div>";
và bây giờ toàn bộ điều chạy nhanh hơn rất nhiều: jQuery.html(): 120ms getElementById.innerHTML: 80ms
Tuy nhiên nhanh hơn sử dụng html oldschool, mặc dù. Và nếu có ai có câu trả lời cho việc tại sao gói nó trong một phần tử nhanh hơn, tôi sẽ đánh giá cao điều đó ...
Điểm 7 có vẻ là địa chỉ liên quan – Greg
tuyệt vời! Không biết tại sao nó nhanh hơn, mặc dù ... hmmmmm ..... – peirix
Có nên thêm mẹo ở đây. Liên kết là 404 – guzart