добавлять класс
Здравствуете, подскажите пожалуйста как можно с помощью js добавлять в определённою диву класс и одновременно удалит с других этот класс.
<div class="img" id="img"> <div id="img1" class="img2">1</div> <div id="img2" class="img1">2</div> <div id="img3" class="img1">3</div> <div id="img4" class="img1">4</div> <div id="img5" class="img1">5</div> </div> <div class="button"> <div class="klor klor1" onclick="red()">red</div> <div class="klor klor2" onclick="blue()">blue</div> <div class="klor klor3" onclick="green()">green</div> <div class="klor klor3" onclick="yellow()">yellow</div> <div class="klor klor3" onclick="gold()">gold</div> </div> <style> .button { display: flex; } .klor{ width: 40px; height: 40px; border-radius: 50%; margin: 10px; cursor: pointer; background:red; } .img { position: relative; } .img2{ display: block; } #img1, #img2, #img3, #img4, #img5{ width: 400px; height: 300px; position: absolute; top: 100px; left: 50px; } #img1{ background: red; } #img2{ background: blue } #img3{ background: green } #img4{ background: yellow; } #img5{ background: gold } .img1{ display: none; } .img2{ display: block; } </style> |
Добавить img2 удалить img2
|
Цитата:
<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <script src='https://code.jquery.com/jquery-latest.js'></script> <!-- <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> --> <style type='text/css'> .img1 { font-style: italic; } .img2 { color: red; } </style> <script type='text/javascript'> $(function(){ $('.img > div').click(function(){ var o=$(this.parentNode).children(); o.removeClass('img2'); o.addClass('img1'); o=$(this); o.removeClass('img1'); o.addClass('img2'); }); }); </script> </head> <body> <div class="img" id="img"> <div id="img1" class="img2">1</div> <div id="img2" class="img1">2</div> <div id="img3" class="img1">3</div> <div id="img4" class="img1">4</div> <div id="img5" class="img1">5</div> </div> </body> </html> |
Спасибо, все работает но нет вариант? без библиотеки, на чистом js
|
Еще нужно чтобы, клик мы сделали на кнопку, а класс меняется в img, а здесь нужно на img клик сделать. Я извиняюсь просто еще javascript темная лес для меня, если можно исправите код.
|
<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <style type='text/css'> .img1 { font-style: italic; } .img2 { color: red; } </style> </head> <body> <div class="img" id="img"> <div id="img1" class="img2">1</div> <div id="img2" class="img1">2</div> <div id="img3" class="img1">3</div> <div id="img4" class="img1">4</div> <div id="img5" class="img1">5</div> </div> <div class="button"> <div class="klor klor1">red</div> <div class="klor klor2">blue</div> <div class="klor klor3">green</div> <div class="klor klor3">yellow</div> <div class="klor klor3">gold</div> </div> <script> var block = document.querySelectorAll('.img div'), btn = document.querySelectorAll('.button .klor'), index = null; btn.forEach((el,i)=>{ if(block[i].classList.contains('img2')) index = i; el.addEventListener('click', function(e){ block[i].className = 'img2'; if(index != i && index != null){ block[index].className = 'img1'; } index = i; }); }); </script> </body> </html> так? |
Да все классно работает, так как нужно, Спасибо.
|
Часовой пояс GMT +3, время: 12:31. |