Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2010, 12:12
Новичок на форуме
Отправить личное сообщение для romzes2 Посмотреть профиль Найти все сообщения от romzes2
 
Регистрация: 19.09.2010
Сообщений: 3

Скрыть\показать div в ряде таблицы
В JS я чайник, по этому, буду предельно краток:
Есть документик:
<style> #menus_s {bg-color:333#} </style>
<script> window.onload=function(){tableruler();} </script>
<table id="menus" width="200">
  <tr>
    <td width="20">Текст1</td>
    <td width="20"><div style="display:none">Картики1</div></td>
  </tr>
  <tr>
    <td width="20">Текст2</td>
    <td width="20"><div style="display:none">Картики2</div></td>
  </tr>
</table>


Есть скриптик подключенный к этому документу (нарыл в нэте):
function tableruler() {
    if (document.getElementById && document.createTextNode) {
        var tables=document.getElementsByTagName('table');
        for (var i=0;i<tables.length;i++) {
            if(tables[i].id=='menus') {
                var trs=tables[i].getElementsByTagName('tr');
                for(var j=0;j<trs.length;j++) {
                    if(trs[j].parentNode.nodeName=='TBODY' && trs[j].parentNode.nodeName!='TFOOT') {
                        trs[j].onmouseover=function() {
                         //this.getElementsByTagName('div').style.display="block";
                            this.id='menus_s';
                            return false;
                        }
                        trs[j].onmouseout=function() {
                        //this.getElementsByTagName('div').style.display="none";
                            this.id='';
                            return false;
                        }
                     }
                }
            }
        }
    }
}

Суть: данный скрипт подсвечивает ряд в таблице при наведении на него курсором цветом #333 (через класс: менюс_с), а когда курсор убирают, подсветка пропадает. Это всё успешно работает!
Появилась задумка: сделать так, чтобы при наведении курсора на ряд - в этом ряду включалась бы не только подсветка, но и появлялись картинки, которые находятся в скрытом диве этого ряда.
Мои попытки это реализовать находятся в JS скрипте под косыми чертами...ессесно как только косые убрать, всё не работает.
помогите пожалуйста, и сильно не бейте Зарание спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2010, 13:31
Новичок на форуме
Отправить личное сообщение для romzes2 Посмотреть профиль Найти все сообщения от romzes2
 
Регистрация: 19.09.2010
Сообщений: 3

Оказалось элементарно:
this.getElementsByTagName('div')[0].style.display="block";
и
this.getElementsByTagName('div')[0].style.display="none";

Но теперь есть следующая проблема: Если вдруг в в этом ряде нету дива вылетет ошибка JS.
Как прописать: если див есть (выполнить this.getElementsByTagName('div')[0].style.display="block"; ) если нету, то ничего не делать...?

Последний раз редактировалось romzes2, 19.09.2010 в 13:35.
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2010, 13:55
Новичок на форуме
Отправить личное сообщение для romzes2 Посмотреть профиль Найти все сообщения от romzes2
 
Регистрация: 19.09.2010
Сообщений: 3

Решение:
if (this.getElementsByTagName('div')[0]) {
this.getElementsByTagName('div')[0].style.display="none";
}

Спасибо мне! Тема закрыта!

Последний раз редактировалось romzes2, 19.09.2010 в 14:21.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ширина таблицы Syltan (X)HTML/CSS 1 01.05.2010 22:33
Появление блоков div в зависимости от radio Oracool Events/DOM/Window 1 04.12.2009 18:39
Как убрать выделение в Опере у div, получившего фокус ? spa_2002 Opera, Safari и др. 5 03.09.2009 10:42
Границы элемента DIv gosha_kap Общие вопросы Javascript 1 06.07.2009 17:12
Фиксированный заголовок таблицы ilshat Элементы интерфейса 6 20.12.2008 00:35