Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Поменять класс у всех столбцов в строке (https://javascript.ru/forum/dom-window/16534-pomenyat-klass-u-vsekh-stolbcov-v-stroke.html)

simple 12.04.2011 00:34

Поменять класс у всех столбцов в строке
 
Всем привет, я начинающий яваскриптер:write: Хочу сделать горизонтальную менюшку на JS, нехочу скачивать готовые в инете хочу сам свое создать, научиться так сказать, попробовать. Создал таблицу html навешал на верхнии столбцы событие onclick().Тема такая при нажатии на ячейку она меняет свой класс на подготовленный, другии же ячеки должны принять класс по умолчанию, чтобы создать эффект передвижения по меню. вот как это осуществить можно, подскажите?
неужели в цикле менять класс у всех ячеек, тогда активная ячека тоже ведь поменяет класс:blink:

Sweet 12.04.2011 01:47

"Запоминаешь" ячейку, которой ставишь "активный" класс. А когда происходит клик по другой ячейке, "снимаешь" класс у предыдущей ячейки, а в переменную записываешь новую.

simple 12.04.2011 08:35

спасибо за совет, вот еще один вопрос, вообщем "меню" я с горем пополам сделал, понял принцип создания. Теперь у меня не получается работа со слоями видимости <div>
<DIV id=r1 style="position: absolute;visibility=visible;">
Меню 1, открыто по умолчанию
</DIV>
<DIV id=r2 style="position: absolute;visibility=hidden;">
Меню 2
</DIV>
<DIV id=r3 style="position: absolute;visibility=hidden;">
Меню 3
</DIV>
<DIV id=r4 style="position: absolute;visibility=hidden;">
Меню 4
</DIV>

Так вот при загрузки страницы эти 3 слоя тоже видны вместе с 1, а когда начинаешь переходить из меню в меню то они пропадают и скрипт работает должнен образом, но почему первый раз они видны? пробовал display: none так он вообще не показывает слои кроме 1 го. В чем может быть загвоздка? Браузер Гугла Хром

simple 12.04.2011 08:43

сорри...вместо = там : я опечатался, вообщем работает если в поле див простой текст, но стоит добавть в контейнер див таблицу как она стает видимая, потом убирается конешно когда переходишь в меню

simple 12.04.2011 11:44

Написал вот такую функцию, чего то она работает не правильно, слои вылазиют не в нужно время и не в то место, и "кнопки" не меняют состояние.Изначально делал все через ByClassName, все работало идиально, но счастье мое было не долгим,тут я узнаю что IE и еще некоторые браузеры не поддерживают данную функцию. Пришлось переписывать код, и что то не срастается пока. Помогите плиз люди!
var prevRow=null;
function selTD(td){
 if(!prevRow){
  prevRow=document.getElementById("t1"); 
 }
  prevId=prevRow.id.substr(1,1);
  prevRow.className="defTD";
  document.getElementById('r'+prevId).style.visibility="hidden";
  curId=td.id.substr(1,1);
  document.getElementById(td.id).className="actTD";
  document.getElementById('r'+curId).style.visibility="visible";
  prevRow=td;
}

Вроде ведь все правильно, но не работает зараза


Часовой пояс GMT +3, время: 22:02.