Давно не могу понять
вот у нас код
http://learn.javascript.ru/play/tuto...gua/index.html Там есть вот это function highlight(node) { if (highlightedCell) { highlightedCell.style.backgroundColor = ''; } highlightedCell = node; node.style.backgroundColor = 'red'; } Скрипт же читается сверху вниз, а тут у нас вначале идет if (highlightedCell) НО highlightedCell на данном этапе всего лишь переменаая, я не понимаю почему, она действует как td, ведь td она становится после if highlightedCell = node; Т.е. если сделать так, работать не будет function highlight(node) { highlightedCell = node; node.style.backgroundColor = 'red'; if (highlightedCell) { highlightedCell.style.backgroundColor = ''; } } Как так? |
И как вопрос, почему при нажатии на тот же самый td (который уже красный), подсветка не спадает
|
hoax, этот код
function highlight(node) { highlightedCell = node; node.style.backgroundColor = 'red'; if (highlightedCell) { highlightedCell.style.backgroundColor = ''; } } равен этому function highlight(node) { node.style.backgroundColor = ''; } |
Цитата:
Поэтому красным будет тот на который нажали в последний раз. |
Я понимаю что равен этому
function highlight(node) { node.style.backgroundColor = ''; } Но почему это не работает хз. Я понимаю это так Когда скрип дойдет до == 'TD' вызовет ф-ю highlight(клик) function highlight(node) { if (highlightedCell) { // Если (ПУСТАЯ переменная существует) highlightedCell.style.backgroundColor = ''; // выводим стандартный цвет } highlightedCell = node; // копируем TD в переменную, и тут БУМ! Она становится TD! node.style.backgroundColor = 'red'; // тут TD окрашивается в красный при клике } Т.е. то что после if понятно, там где происходит копирование, до него - нет(( |
Так что же в ней находится?)
var highlightedCell; if (highlightedCell) {.....} Как именно это понять? Она же не копирует ничего. Там ничего нет, всмысле не строки , не числового порядки и не логических значений. Здесь не происходит копирование TD в эту переменную (копирование позже), тогда каким образом она работает, если она НЕ ПРИВЯЗАНА ни к чему. Ну как-то так, моя извращенная логика) |
Цитата:
2. в ней находится ссылка на предыдущую ячейку Цитата:
тыкаем 2 и более раз по ячейкам http://learn.javascript.ru/play/uDkZU |
Часовой пояс GMT +3, время: 03:47. |