В настоящее время я вижу, что мы можем показать изображение после его загрузки.Лучший способ отображения изображения после его загрузки
Первый подход
<img id="myImage" />
var img = new Image(),
x = document.getElementById("myImage");
img.onload = function() {
x.src = img.src;
};
img.src = "http://somedomain/image.jpg";
Второй подход
<img id="myImage" src="http://somedomain/image.jpg" style="display:none" onload="showImage();" />
function showImage() {
document.getElementById("myImage").style.display = 'block';
}
Я немного запутался, какой из них является лучшим подходом? В некоторых примерах, которые я нашел в Интернете, они используют первый подход, но я вижу, что второй подход очень прост. Существуют ли какие-либо недостатки во втором подходе?
Скажу сначала, используйте некоторое изображение «загрузка ...», а при загрузке фактического изображения замените его. – Tushar
Первый из них хорош, если у вас есть только одно изображение. Для нескольких изображений более подходящим является второй. Но насколько это касается производительности, я сомневаюсь, что есть какая-то разница, поскольку оба подхода используют 'onload' событие .. И да, используйте 'pre-loader' (' css'/light-weight gif) для лучшего UX, как предложено Tushar .. – Rayon
Другой подход может использовать атрибуты 'data-src' для хранения' src' изображений ..Цитирование через все изображения и установка 'src', когда изображение« загружено ». – Rayon