Прелоад картинок с использованием индикатора загрузки
Привет всем.
Решил попробовать написать прелоад картинок с индикатором загрузки(spin.js), в целях саморазвития. Суть в том что бы, картинки подгружались в фоне, а в это время вместо картинок показывался индикатор загрузки(спиннер), и соответственно когда картинка подгрузилась, индикатор загрузки исчезал и появлялась картинка. Но так как я нуб и только начинаю изучать js, естественно у меня ничего не получилось. Но вопрос что я сделал не так и как надо, меня мучает по сей день уже неделю. Избавьте меня от мучений и наставьте на путь истинный. Я буду очень признателен, тем хорошим людям, которые поправят мой не удавшийся пример, дабы я мог осознать свои ошибки. http://learn.javascript.ru/play/xRqKkc |
Nooby,
<!DOCTYPE HTML>
<!--[if lt IE 7]> <html id="no-js" class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html id="no-js" class="lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html id="no-js" class="lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html id="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<title>Bootstrap blank</title>
<meta name="description" content="">
<meta name="keywords" content="">
<script>
<!--
document.documentElement.id = "js"
//-- >
</script>
<style>
.b-example {
position: relative;
height: 280px;
background-color: #ccc;
}
.spinner {
/*margin-top: -150px;
margin-left:800px;*/
}
.img-wrap {
position: relative;
height: 280px;
background-color: #f1f1f1;
}
</style>
</head>
<body>
<!-- .b-page -->
<div class="b-page">
<div class="img-wrap"></div>
<div class="img-wrap"></div>
</div>
<!-- end .b-page -->
<!-- spin -->
<script src="http://fgnass.github.io/spin.js/dist/spin.min.js?v=1.2.8"></script>
<script>
// source http://fgnass.github.io/spin.js/
// spin
function test() {
var canvas=document.getElementsByClassName("img-wrap");
var array_images = new Array();
array_images[0] = new Image();
array_images[1] = new Image();
for(var i=0; i<canvas.length; i++) {
array_images[i].onload = (function(x) {
var spinner = new Spinner().spin();
canvas[x].appendChild(spinner.el);
return function ()
{
alert(x);
canvas[x].appendChild(array_images[x]);
spinner.spin(false);
}
})(i)
};
array_images[0].src = 'http://upload.wikimedia.org/wikipedia/ru/9/91/Rhone_river_Castle_at_Les_Issarts_247-5_km_West_bank_001.jpg';
array_images[1].src = 'http://kolyan.net/uploads/posts/2011-10/1318201802_268.jpg';
};
test();
</script>
</body>
</html>
|
| Часовой пояс GMT +3, время: 06:49. |