Волнообразное появление областей div
Нужна помощь знающих людей.:write:
Надо сделатьть пять областей div 40х40 пикселей с id “div1”, “div2”,…,“div5”, раскрашенные в разные цвета, невидимые при загрузке страницы, и кнопку. При нажатии на кнопку должно в цикле срабатывать волнообразное проявление областей div слево-направо, а затем наоборот, исчезновение. Цикл работает до тех пор, пока не закрыта страница. Сам я такое сделать не смогу :cray: |
blackdiie,
а что сможите? |
мигалка волной на js
:lol:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body .tkl{
display: none;
transition: all .8s linear;
width: 0px;
height: 40px;
float: left;
}
body.open .tkl{
display: inline-block;
}
body.open .tkl.show{
width: 40px;
}
</style>
</head>
<body>
<input id="bbb" name="" type="button" value="go" onclick="go()"><br>
<img src="http://www.infoportal.pp.ua/_ph/13/2/706430891.jpg" alt="" class="tkl">
<img src="http://www.infoportal.pp.ua/_ph/13/2/706430891.jpg" alt="" class="tkl">
<img src="http://www.infoportal.pp.ua/_ph/13/2/706430891.jpg" alt="" class="tkl">
<img src="http://www.infoportal.pp.ua/_ph/13/2/706430891.jpg" alt="" class="tkl">
<img src="http://www.infoportal.pp.ua/_ph/13/2/706430891.jpg" alt="" class="tkl">
<script>
var timer, show, n = 0, fn = ["add","remove"];
function blinker(cls, duration, sel) {
var elems = [].slice.call(document.querySelectorAll(sel));
show = function() {
document.body.classList.add("open");
window.clearTimeout(timer);
};
return function() {
show();
(function mig(a) {
elems[n].classList[fn[0]](cls);
n = ++n % elems.length;
if(!n) {elems.reverse();fn.reverse()}
timer = window.setTimeout(mig, duration)
})()
}
}
var go = blinker("show", 800, ".tkl");
</script>
</body>
</html>
|
Здравствуй, а как вместо картинок div подключить?
|
Спасибо за код.
|
Цитата:
<div class="tkl" style="background-color: #00FF00"></div> и так 5 раз вместо картинок |
я знаю как покороче записать
так чисто как альтернатива, да и мне тренироваться надо ;)
<head>
<meta charset="utf-8">
<style>
div{
width: 40px;
height: 40px;
display: inline-block;
opacity: 0;
}
</style>
</head>
<body>
<button id="pusk">Пуск</button>
<div></div><div></div><div></div><div></div><div></div>
<script>
document.getElementById("pusk").onclick = function() {
var el = document.querySelectorAll('div');
var col = ["red","green", "blue","violet", "orange"]
for(var i=0; i<5; i++){
el[i].style.backgroundColor = col[i];
el[i].style.animation = 'p'+i+'e 2s infinite';
var keyframes = '@keyframes p'+i+'e {0% {opacity: 0;}'+(10+i*10)+'% {opacity: 1;}'+(90-i*10)+'% {opacity: 1;} 100% {opacity: 0;}}';
var s = document.createElement('style');
s.innerHTML = keyframes;
document.getElementsByTagName('head')[0].appendChild(s);
}
document.body.removeChild(document.getElementById("pusk"));
}
</script>
</body>
|
Цитата:
|
Цитата:
или вы в целом про код? |
j0hnik,
да про this |
| Часовой пояс GMT +3, время: 14:18. |