Удаление содержимого переменной
Есть 3 блока DIV
при нажатии каждый из них меняет цвет,первый раз это работает,во 2 раз второй блок меняет цвет,но и 1 DIV остается с тем же цветом,как это исправить? div2.style.backgroundColor="";-знаю про этот способ,он не подходит,есть еще способ? |
<html> <head> <title>example</title> </head> <body> <div style="width: 50px; height: 50px; background-color: red;"></div> <script> document.querySelector('div').onclick = function () { this.style.backgroundColor = ''; }; </script> </body> </html> |
Цитата:
Например: я нажал на 1 блок,он стал черный,нажимаю на 2 блок,2 блок стал черный,а первый стал с исходным текстом. |
абсолютно ничего сложного, пару строк кода ))
<html> <head> <title>example</title> <style> .bl { width: 50px; height: 50px; margin: 10px; border: 1px solid black; float: left; } </style> </head> <body> <div style="width: 400px; overflow: hidden;"> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> </div> <script> var prev; Array.prototype.forEach.call(document.querySelectorAll('.bl'), function (ths) { ths.onclick = function () { this.style.backgroundColor = 'black'; if (prev) prev.style.backgroundColor = ''; if (prev == this) prev = undefined; else prev = this; } }); </script> </body> </html> |
для вас ничего сложного,а вот я здесь кое-что не понял,ну это уже мои проблемы.
|
что именно? отвечу
|
:write: ещё вариант ...
<html> <head> <title>example</title> <style> .bl { width: 50px; height: 50px; margin: 10px; border: 1px solid black; float: left; } .black{ background: #000000 } </style> </head> <body> <div style="width: 400px; overflow: hidden;"> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> <div class="bl"></div> </div> <script> var prev; Array.prototype.forEach.call(document.querySelectorAll('.bl'), function (ths) { ths.onclick = function () { var black = document.querySelector('.black'); if(!this.classList.contains('black') && black) black.classList.remove('black'); this.classList.toggle('black'); } }); </script> </body> </html> |
Часовой пояс GMT +3, время: 20:43. |