цвет из массива
нужно при каждом клике по очереди взять цвет из массива , но при клике берется только последний цвет
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>HTML5</title> </head> <body> <div> <script> function col(colors){ var colors = ["red" , "green", "blue"]; for (var i = 0; i < colors.length; i++) { var a = document.getElementById("h"); a.style.color = colors[i]; } } </script> </div> <p id="h"> hello</p> <input type="button" onclick="col()" value="click"> </body> </html> |
Ну конечно. При одном запуске присваиваются все три цвета по очереди, при выходе из цикла всегда остается синий. Тут не цикл нужен, а переменная, которая хранит текущий цвет.
Типа так http://plnkr.co/edit/nr53yEX5N0L5OBJYifgR?p=preview |
понятно спасибо за помощь
|
Цитата:
|
Viktor Shcherbyna,
http://javascript.ru/forum/misc/7735...os-po-dom.html |
<div></div> <button id="change">Change color</button> div{ width: 50px; height: 50px; background: red; margin-bottom: 10px; } const colors = ['red', 'green', 'blue'], div = document.querySelector('div'); let i = 0; change.onclick = () => div.style.background = colors[++i % colors.length]; |
Часовой пояс GMT +3, время: 21:12. |