Вставка картинок из папки с задержкой по времени.
Добрый день. Вот какая идея - сделать вставку картинок из папки. с задержкой по времени. Каждая новая картинка будет появляться на месте прошлой.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Picture</title>
<style type="text/css">
#box {
position: relative;
width: 500px;
height: 300px;
background-color: green;
color: white;
}
#textBox {
float: right;
background-color: red;
color: white;
font-size: 1.2em;
height: 100px;
width: 200px;
}
</style>
</head>
<body>
<div id="box">
<div id="pictureBox"></div>
<div id="textBox"></div>
</div>
<script type="text/javascript">
var div = document.getElementById('box');
var textBox = document.getElementById('textBox');
textBox.innerHTML = "<strong>Ура!</strong> Вы прочитали это важное сообщение.";
function pictureBox() {
var parentEl = document.getElementById("pictureBox"),
img = document.createElement("IMG");
img.src = "pic/1.jpg";
img.width = "150";
img.height = "150";
parentEl.appendChild(img);
}
var Timer = setTimeout(pictureBox, 3000);
console.log("Vse OK");
</script>
</body>
</html>
Подскажите пожалуйста, как реализовать? Я так понимаю, что картинки надо поместить в некий массив, по которому будет ити бесконечный цикл зависящий от задержки во времени ? |
Black_Star,
:-?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Picture</title>
<style type="text/css">
#box {
position: relative;
width: 500px;
height: 300px;
background-color: green;
color: white;
}
#textBox {
float: right;
background-color: red;
color: white;
font-size: 1.2em;
height: 100px;
width: 200px;
}
</style>
</head>
<body>
<div id="box">
<div id="pictureBox"></div>
<div id="textBox"></div>
</div>
<script type="text/javascript">
var div = document.getElementById('box');
var textBox = document.getElementById('textBox');
var parentEl = document.getElementById("pictureBox"),
img = document.createElement("IMG");
img.width = "150";
img.height = "150";
parentEl.appendChild(img);
textBox.innerHTML = "<strong>Ура!</strong> Вы прочитали это важное сообщение.";
var arrSrc = ["http://i58.fastpic.ru/big/2013/1229/64/ea5a462abc691f56592c3c68768ed864.jpg",
"http://www.chelnyltd.ru/images/article/3_9902_pic_13%D0%B0%D0%BF%D1%80%D0%B5%D0%BB%D1%8F%D0%A0%D0%9E%D0%9A.jpeg",
"http://portamur.ru/upload/iblock/3af/-mkpk.jpg"], indx = 0, len = arrSrc.length;
(function pictureBox() {
img.src = arrSrc[indx];
indx = ++indx%len;
setTimeout(pictureBox, 3000);
})()
</script>
</body>
</html>
|
Круто, спасибо, это то что надо. А можете ещё объяснить вот эту строчку
indx = ++indx%len; Я понял что это счетчик который будет перебирать последовательно все элементы массива с данными arrSrc , но меня смутил вот преффикс %len; Что он означает ? |
Так понятней?
indx = ++indx % len; Она не позволяет значению indx выйти за пределы массива |
Цитата:
indx = indx !== len-1 ? ++indx : indx = 0; |
Цитата:
А можно где то подробнее про знак % узнать, а то я его только как остаток от деления где-то видал мельком :write: |
Цитата:
var a = 0; alert(++a % 3); alert(++a % 3); alert(++a % 3); |
Цитата:
|
| Часовой пояс GMT +3, время: 04:13. |