Да, сами по себе JavaScript и CSS (см. цикл статей Никиты Сенченко «Устрой себе легкую жизнь», МК № 31–32, 34–35, 47, 49–52, 10, 12–13 (150–151, 153–154, 166, 168–171, 181, 183–184)) — мощные инструменты при разработке страниц, но еще круче результаты они демонстрируют в паре. Именно вопросам совместной работы двух этих языков и посвящена наша статья.
…и выходит и входит… замечательно выходит...
Ослик ИА
Попадались ли тебе, читатель, страницы на DHTML, отличительной чертой которых являлись дочерние окна? Первый раз я столкнулся с такими штуковинами на сайте Томаса Братли (Thomas Bratli) —http://www.dhtmlcemtral.com (рис. 1). Первое впечатление — круто, хочу себе такие же. Лезть в раздел Downloads я не стал, а решил вытянуть скрипт прямо из страницы. Все-таки полезней шевелить извилинами, а не просто «кликать линки». Первое разочарование принес размер — 30 Кб (это без картинок), мне кажется — многовато, особенно если учесть, что один скрипт — это еще не страница. Второе — написано все это дело под огромное количество браузеров (IE 4, IE 5, IE 6, Netscape, Opera, Opera 5, Mac). Я, например, пользователь ослика ИА (в смысле IE), зачем мне лишние килобайты от Нетшкафа? Не проще ли сделать отдельно для каждого? Ну и третье — неудобство использования. Изучившие исходник меня поймут.
Предлагаю на рассмотрение пример скрипта, выполняющего аналогичные функции, правда, заметно упрощенного (рис. 2). Если понравится, пишите на мыло, доделаю недостающие фичи.
Итак, затарились, сели, включили любимую музыку, пристегнули ремни, взле… то есть начинаем…
Начинаем наш скрипт, как обычно, с тэга . Теперь можно открывать и приступать к объявлению окон. Приблизительно так:
win1 content win2 content win3 content
Наконец создадим три кнопки, которые будут вновь открывать закрытые окна:
<input type="button" value="1"> <input type="button" value="2"> <input type="button" value="3">
Все! Можно опробовать все это в работе.
Отмазка. Если вы знаете, как все это сделать по-другому, — дерзайте, это действительно возможно. А что вы еще ожидали от языка, в котором добавить к переменной единицу можно тремя способами?


