Нужно реализовать вкладки, которые будут переключаться:
Как это может работать без JS
Предлагаем менеджеру варианты:
Разбить контент на 2 страницы
Разместить все на одной странице в виде подзаголовков с якорями
Первый шаг
Реализуем статическую версию (без JS)
Второй шаг
Реализовываем скрипт, который «подготавливает» контент к реализации вкладок:
добавляем недостающие элементы
перегруппировываем текущие
скрываем лишние
Третий шаг
Реализовываем скрипт, который переключает вкладки:
ищем активные элементы
добавляем обработчики событий
Результат
С JavaScript
Без JavaScript
Всегда нужно учитывать
У любого контента должен быть свой уникальный URL
У любого действия всегда должен быть альтернативный обработчик
Дополнительные «фишки» базируются на стандартной реализации, но существуют отдельно
Отвыкаем от «плохого»
Не нужно писать тонны CSS-кода (и HTML) в JS-скрипте:
newElem . style . display = ' block ';
newElem . style.borderBottom = ' 1px dashed ';
newElem . style . color = ' #ccc ';
oldElem . style . display = ' none ';
Привыкаем к «хорошему»
Большую часть щепетильной настройки внешнего вида можно вынести в CSS и поручить верстальщику:
newElem . className = ' visible ';
oldElem . className = ' hidden ';
Загрузи версталу по полной! Чтобы не выискивать все элементы, которые должны изменяться, при подготовке контента, переложи и эту задачу на верстальщика: document . body . className = ' javascript_enabled ';
Как быть с анимацией?
Анимация подразумевает постоянное изменение каких-либо CSS свойств, и здесь все классами предусмотреть нельзя.
Войти с паролем Логин: Пароль:
Решение — есть!
CSS может нам помочь, предоставив базовые параметры, к примеру:
начальное положение
конечное положение
Получив эти параметры из CSS мы делаем JS более независимым
Изгоняем HTML из скрипта
Выносим новый HTML-кусок в отдельный файл
и получаем его с помощью Ajax
Находим нужные элементы по:
Идентификатору ( id =" headerPlace ")
Имени класса ( class =" headerPlace ")
Результат
Прозрачный и понятный скрипт, минимально завязанный на верстку
Удобный и приятный интерфейс сейчас практически невозможно создать без использования JavaScript, однако многие разработчики слишком увлекаются, и забывают о поддержке версии сайта без JS. Я расскажу о полноценной поддержке версии сайта без JavaScript (зачем она? что в ней должно быть? как реализовать?). Расскажу о способах подключения JS как надстройки над статическим контентом: на чем они основываются, где это можно встретить, постараюсь отметить плюсы и минусы. В завершении темы покажу что должно быть внутри скрипта, а чего там быть не должно, а точнее покажу как правильно разделить HTML, CSS и JS чтобы избежать всяких подводных камней. less
0 comments
Post a comment