Сменить одну картинку на другую в начале часа.
Доброго времени суток!
Возникла такая нестандартная задача: Есть две картинки 1) red.gif 2) green.gif. Обе картинки в виде небольших иконок. Первая картинка red.gif расположена на странице в нескольких экземплярах. Вопрос: Как заменить все картинки red.gif на картинки green.gif в начале каждого часа (на первые пять минут), а затем вернуть картинки red.gif обратно. |
SV4,
ваши попытки где? |
Подскажите какую функцию юзать.
Я php изучал, с яваскрипт пока хромаю.:write: |
|
Отлично! Будем пробовать!
|
Пришлось юзать не только date, settimeout, Атрибуты и DOM-свойства,
но и изучить как писать пользовательские функции, создавать переменные, создавать циклы и тд.... Скрипт реально состоит из четырех строчек. :-E Конечно получилось намного лучше чем хотел. В принципе javascript интересный язык. Обязательно возьму его на вооружение в свои проекты. Форумчанам отдельная благодарность за помощь! Только в следующий раз давайте более расширенные советы типа: поищите в гугл или поищите в яндекс А то вдруг посетитель подумает что ему здесь помогут. |
смена картинок на первые пять минут в начале часа
SV4,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</script>
<script>
window.addEventListener("DOMContentLoaded", function() {
var img = document.querySelectorAll(".red"),
src = ["http://www.fotoshans.ru/upload/iblock/093/09352096e4184d4bbc657a50573cab38.jpg",
"http://www.fotoshans.ru/upload/iblock/162/16205ec9be50d5be620bb985857e6ba7.png"],
minutes = 5;
requestAnimationFrame(function e() {
var url = src[+((new Date).getMinutes() < minutes)];
[].forEach.call(img, function(el) {
el.src = url
});
requestAnimationFrame(e)
})
});
</script>
</head>
<body>
<img src="" alt="" class="red">
<img src="" alt="" class="red">
<img src="" alt="" class="red">
<img src="" alt="" class="red">
<img src="" alt="" class="red">
</body>
</html>
|
А у меня такой. Тоже работает.
Не знаю правда, как здесь на форуме код активным сделать.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled</title>
<script type="text/javascript">
window.onload = function(){
(function(){
NewImg = new Image();
NewImg.src = 'http://lnterzarabok.hut4.ru/img_miniatyry/ikonBkrans/clok_green.gif';
var date = new Date();
var minutes = date.getMinutes();
function changeImg(source) { document.ImgClock.src = source ;};
if (minutes < 5) {changeImg('http://lnterzarabok.hut4.ru/img_miniatyry/ikonBkrans/clok_green.gif');}
else {changeImg('http://lnterzarabok.hut4.ru/img_miniatyry/ikonBkrans/clok.gif');};
window.setTimeout(arguments.callee, 12000);
})();
};
</script>
</head>
<body>
<div><img src="http://lnterzarabok.hut4.ru/img_miniatyry/ikonBkrans/clok.gif" width="25" height="25" name="ImgClock"></div>
<div><img src="http://lnterzarabok.hut4.ru/img_miniatyry/ikonBkrans/clok.gif" width="25" height="25" name="ImgClock"></div>
<div><img src="http://lnterzarabok.hut4.ru/img_miniatyry/ikonBkrans/clok.gif" width="25" height="25" name="ImgClock"></div>
</body>
</html>
Интервал 12 сек, чисто символически поставил. |
SV4,
[HTML run][/HTML] Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
| Часовой пояс GMT +3, время: 15:15. |