Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.06.2017, 22:20
Новичок на форуме
Отправить личное сообщение для blackdiie Посмотреть профиль Найти все сообщения от blackdiie
 
Регистрация: 03.06.2017
Сообщений: 6

Волнообразное появление областей div
Нужна помощь знающих людей.
Надо сделатьть пять областей div 40х40 пикселей с
id “div1”, “div2”,…,“div5”, раскрашенные в разные цвета, невидимые при загрузке страницы, и кнопку. При нажатии на кнопку должно в цикле срабатывать волнообразное проявление областей div слево-направо, а затем наоборот, исчезновение. Цикл работает до тех пор, пока не закрыта страница.
Сам я такое сделать не смогу
Ответить с цитированием
  #2 (permalink)  
Старый 03.06.2017, 23:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

blackdiie,
а что сможите?
Ответить с цитированием
  #3 (permalink)  
Старый 04.06.2017, 00:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

мигалка волной на js

<!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>

Последний раз редактировалось рони, 04.06.2017 в 00:06.
Ответить с цитированием
  #4 (permalink)  
Старый 04.06.2017, 00:57
Новичок на форуме
Отправить личное сообщение для blackdiie Посмотреть профиль Найти все сообщения от blackdiie
 
Регистрация: 03.06.2017
Сообщений: 6

Здравствуй, а как вместо картинок div подключить?
Ответить с цитированием
  #5 (permalink)  
Старый 04.06.2017, 00:58
Новичок на форуме
Отправить личное сообщение для blackdiie Посмотреть профиль Найти все сообщения от blackdiie
 
Регистрация: 03.06.2017
Сообщений: 6

Спасибо за код.
Ответить с цитированием
  #6 (permalink)  
Старый 04.06.2017, 01:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от blackdiie
Здравствуй, а как вместо картинок div подключить?
хоть немного-то html и css знать надо ...
<div class="tkl" style="background-color: #00FF00"></div>

и так 5 раз вместо картинок
Ответить с цитированием
  #7 (permalink)  
Старый 04.06.2017, 03:16
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

я знаю как покороче записать
так чисто как альтернатива, да и мне тренироваться надо
<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, 04.06.2017 в 03:37.
Ответить с цитированием
  #8 (permalink)  
Старый 04.06.2017, 08:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от j0hnik
я знаю как покороче записать
строка 27 слишком длинная, есть вариант на 50% короче и есть уже сейчас на 80% меньше.
Ответить с цитированием
  #9 (permalink)  
Старый 04.06.2017, 12:24
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от рони Посмотреть сообщение
строка 27 слишком длинная, есть вариант на 50% короче и есть уже сейчас на 80% меньше.
про строку на this заменить?
или вы в целом про код?

Последний раз редактировалось j0hnik, 04.06.2017 в 12:27.
Ответить с цитированием
  #10 (permalink)  
Старый 04.06.2017, 15:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

j0hnik,
да про this
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление div после заполнения input PonyS Общие вопросы Javascript 4 11.05.2016 18:20
Появление div не могу разобраться yura_yushkevich jQuery 6 07.12.2014 13:46
При наведении на элемент появление div, положение которого постоянно меняется Poision Элементы интерфейса 5 27.01.2014 19:43
появление div RogerUP Events/DOM/Window 3 05.08.2011 16:29
Появление блоков div в зависимости от radio Oracool Events/DOM/Window 1 04.12.2009 18:39