Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос по DOM
 
 автор: component6   (25.09.2009 в 00:00)   письмо автору
689 байт
 
 

Добрый день Уважаемые! У меня вопрос по DOM.
На странице есть выпадающее меню, в котором расположены ячейки. Как сделать, что бы при нажатии на ячейку из 5 строки и 5 столбца, ячейки от 1 до 5 строки и от 1 до 5 столбца изменили свой стиль(К примеру цвет). Со слов не понятно, но посмотрите и все поймете, файл css прикрепил.

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<head>
<link rel="shortcut icon" href=".ico">
<link rel='stylesheet' href='stylebasic17.css'>
<script language="JavaScript">
function colstr(viz_tbl){
    var c1 = viz_tbl.indexOf('c');
    var col=0;
    for(var i1=0; i1<c1; i1++){
        col = col+''+viz_tbl.charAt(i1);
    }
    col = Number(col);    //получаем кол-во строк
    return col;
}
function rowstr(viz_tbl){
    var c1 = viz_tbl.indexOf('c');
    var r2 = viz_tbl.indexOf('r');
    var row=0;
    for(var i2=c1+1; i2<r2; i2++){
        row = row+''+viz_tbl.charAt(i2);
    }
    row = Number(row);    //получаем кол-во столбцов
    return row;
}

window.onclick = function (msover) {
    var evt = msover || window.event;
    var trg = evt.target || evt.srcElement;
    if('siz' == trg.getAttribute('class')){
        var viz_tbl = trg.getAttribute('name');
        //функция возвращает кол-во строк нажатого эл-та
        var col = colstr(viz_tbl);
        //функция возвращает кол-во столбцов нажатого эл-та
        var row = rowstr(viz_tbl);
        
        //** Здесь **
        //получается закрасить 6 узел, а надо все узлы, до нажатого
        //получаем родителя нажатого эл-та
        var LI = trg.parentNode;
        for(var y=1; y<LI.childNodes.length; y++){
            //arr[y] = LI.childNodes[y].getAttribute('name');
            
        }
        LI.childNodes[6].style.backgroundColor="LIGHTGREEN";
        trg.style.backgroundColor="GREEN";
    }
}
</script>
</head>
<body>
<ul>
    <li id="li">
        <div id="tbl_n_n_txt" name="name_">Таблица </div>
        <script language="JavaScript">
        //*     создаем выпадающее поле выбора размера таблицы     *//
        var arr_name=[];
        var K=0;
        for(var i=1; i<=15; i++){
            for(var j=1; j<=15; j++){
                var d = document.createElement('div');
                d.setAttribute('class','siz');
                //устанавливаем узлам атрибут name = (от 1c1r до 15c15r)
                d.setAttribute('name',i+'c'+j+'r');
                arr_name[K] = i+'c'+j+'r';
                document.getElementById('li').appendChild(d);
                K++;
            }
        }
        </script>
    </li>
</ul>
</body></html>

  Ответить  
 
 автор: mihdan   (25.09.2009 в 15:42)   письмо автору
 
   для: component6   (25.09.2009 в 00:00)
 

Есть реализация на JQuery

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования