|
BackgroundColor по ID
Доброе время суток форумчане! Я полный нуб в js:cray: . Хочу попросить у вас подсказки. Есть код:
<body onload="test()"> <div id="a0">1</div> <div id="a1">2</div> <div id="a2">3</div> <div id="a3">4</div> <div id="a4">5</div> <div id="a5">6</div> </body> function test(){ var divs; for(var j = 0; j < 6; j++) { divs= document.getElementById('a' + j); divs.onclick = function () { document.getElementById(this.id).style.backgroundColor = "blue"; alert("ID элемента" + " " + "'" + this.id + "'"); :help: Проблема в том, что бы по нажатию на DIV предыдущий тоже менял bgColor. Буду благодарен за любые советы и подсказки |
Zyuzka,
:-? <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> function test(){ var divs, old; for(var j = 0; j < 6; j++) { divs= document.getElementById('a' + j); divs.onclick = function () { old && (old.style.backgroundColor='') this.style.backgroundColor = "blue"; old = this }}} </script> </head> <body onload="test()"> <div id="a0">1</div> <div id="a1">2</div> <div id="a2">3</div> <div id="a3">4</div> <div id="a4">5</div> <div id="a5">6</div> </body> </html> |
Цитата:
|
Zyuzka,
:-? <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> function test() { var divs; for (var j = 0; j < 6; j++) { divs = document.getElementById('a' + j); divs.onclick = function() { var color = "blue" for (var j = 0; j < 6; j++) { divs = document.getElementById('a' + j); divs.style.backgroundColor = color; if (divs == this) color = ''; } } } } </script> </head> <body onload="test()"> <div id="a0">1</div> <div id="a1">2</div> <div id="a2">3</div> <div id="a3">4</div> <div id="a4">5</div> <div id="a5">6</div> </body> </html> |
Цитата:
|
Цитата:
background: linear-gradient(to right, blue 50%, white 50%); к элементу по которому кликнули? |
Цитата:
|
Zyuzka,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> function test() { var divs; for (var j = 0; j < 6; j++) { divs = document.getElementById('a' + j); divs.onclick = function() { var color = "linear-gradient(to right, blue, white)" for (var j = 0; j < 6; j++) { divs = document.getElementById('a' + j); divs.style.backgroundImage = color; if (divs == this) color = ''; } } } } </script> </head> <body onload="test()"> <div id="a0">1</div> <div id="a1">2</div> <div id="a2">3</div> <div id="a3">4</div> <div id="a4">5</div> <div id="a5">6</div> </body> </html> |
Zyuzka,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> function test() { var divs; for (var j = 0; j < 6; j++) { divs = document.getElementById('a' + j); divs.onclick = function() { var color = "linear-gradient(to right, blue, blue)" for (var j = 0; j < 6; j++) { divs = document.getElementById('a' + j); divs.style.backgroundImage = divs == this ? "linear-gradient(to right, blue, white)" : color; if (divs == this) color = ''; } } } } </script> </head> <body onload="test()"> <div id="a0">1</div> <div id="a1">2</div> <div id="a2">3</div> <div id="a3">4</div> <div id="a4">5</div> <div id="a5">6</div> </body> </html> |
Цитата:
Осталось понять строку divs.style.backgroundImage = divs == this ? "linear-gradient(to right, blue, white)" : color;:) |
Часовой пояс GMT +3, время: 22:23. |
|