Я пытаюсь создать какой-то код обратного вызова, который запускается после предварительного изображения.Выполнить код JavaSCript после предварительной загрузки изображения
Мой JS код выглядит следующим образом:
<script type='text/javascript'>
d=document;
window.onload=function()
{
if (d.images)
{
d.getElementById('preload').style.display='block';
i1=new Image;
i1.src="http://link_to_image";
d.getElementById('preload').style.display='none';
}
}
</script>
Так в моем примере, d.getElementById('preload').style.display='none';
должна выполняться после того, как изображение полностью загружается в кэш.
Любая помощь в том, как достичь этого? Пожалуйста, только автономные решения JavaScript без требований к библиотеке/плагину.
Я только что узнал, что 'setInterval (" если (i1 .complete) {...} ", 500)' является хорошим решением. Редактировать: Но не так хорошо, как предлагаемые ниже решения. – EarthMind
Да, вам следует избегать строкового аргумента 'setInterval' /' setTimeout'; передайте 'function() {...}' вместо этого в предпочтении. Также нет атрибута 'complete', только' readyState' (и это нестандартно, поэтому 'onload' по-прежнему лучше). Кроме того, вы, вероятно, можете потерять 'if (document.images)' test, поскольку последний браузер не поддерживал это Netscape 2! :-) – bobince