смена класса
Имеется следующий скрипт:
var old_id; function kodimg(id) { if (old_id) document.getElementById(old_id).className = 'megaanchor'; document.getElementById(id).className = 'megaanchor1'; old_id = (id); } <div class="megaanchor" id="megaanchor{@id}" onclick="kodimg(id);"> При клике меняет класс. Работает нормально,но не могу сделать условие что бы при еще одном клике на данный пункт класс менялся обратно. |
<script> function toggleClass(el, class1, class2) { el.className = (el.className == class1) ? class2 : class1; }</script> <style> span {padding: 2px 10px;} .odd {background-color: #cd853f;} .even {background-color: #8fbc8f;} </style> <span class="odd" onclick="toggleClass(this, 'odd', 'even')">Span</span> |
Цитата:
http://1.petrocol.z8.ru посмотрите меню |
Так почему бы не посмотреть, как там сделано?
|
Геморой в том, что там сделано так же. т.е. если кликать поочередно по всем 3-ем пунктам, то классы поменяются у всех. А нужно, что бы кликая на другой, то у предыдущего класс становился прежним. Так что бы активным бал только один.
|
Ну запоминай предыдущий элемент, и меняй ему класс
|
Извините меня, но не могли бы вы показать на примере??
Просто я только начал изучать этот язык. |
<style> div { width: 50px;height: 20px;float: left;cursor: pointer;margin-left: 20px; } .simple { background-color: orange; } .active { background-color: white; } </style> <div class="simple" onclick="check(this);">Div 1</div> <div class="simple" onclick="check(this);">Div 2</div> <div class="simple" onclick="check(this);">Div 3</div> <script> var current; function check(obj) { obj.className = 'active'; //Текущему объекту присваиваем класс "active" if (current) current.className = 'simple'; //Прежнему активному ставим обратно класс "simple" current = obj; //Сохраняем текущий кликнутый объект } </script> |
Класс. Работает как нужно. Спасибо.
Но у меня еще один маленький вопрос по скрипту: если кликнуть по активному элементу, а потом еще раз, то пока не кликнешь по другим, то ничего не произойдет. |
Денис2201,
Правильно, это же был всего лишь пример как можно сохранить объект. Вы уже напишите свой как вам надо, или к этому добавьте приправы, немного соуса и будет вкуснятина :) |
Часовой пояс GMT +3, время: 15:50. |