'

JS, or not JS, вот в чем вопрос

Понравилась презентация – покажи это...





Слайд 0

JS, or not JS, вот в чем вопрос Фитискин Александр веб-технолог студия «Dominion»


Слайд 1

Проблемы, связанные с отсутствием версии без JS Недоступны важные функции сервиса Недоступна важная информация Возможности браузера используются неполностью (версия для печати, ссылка другу)? Сайт индексируется не полностью


Слайд 2

Причины отсутствия JS JS отключен специально Проблемы с сервером Файл «недокачан» или случайно удален JS-ошибка Старый браузер Другие причины


Слайд 3

Задача от менеджера Нужно реализовать вкладки, которые будут переключаться:


Слайд 4

Как это может работать без JS Предлагаем менеджеру варианты: Разбить контент на 2 страницы Разместить все на одной странице в виде подзаголовков с якорями


Слайд 5

Первый шаг Реализуем статическую версию (без JS)?


Слайд 6

Второй шаг Реализовываем скрипт, который «подготавливает» контент к реализации вкладок: добавляем недостающие элементы перегруппировываем текущие скрываем лишние


Слайд 7

Третий шаг Реализовываем скрипт, который переключает вкладки: ищем активные элементы добавляем обработчики событий


Слайд 8

Результат С JavaScript Без JavaScript


Слайд 9

Всегда нужно учитывать У любого контента должен быть свой уникальный URL У любого действия всегда должен быть альтернативный обработчик Дополнительные «фишки» базируются на стандартной реализации, но существуют отдельно


Слайд 10

Отвыкаем от «плохого» Не нужно писать тонны CSS-кода (и HTML) в JS-скрипте: newElem.style.display = 'block'; newElem.style.borderBottom = '1px dashed'; newElem.style.color = '#ccc'; oldElem.style.display = 'none';


Слайд 11

Привыкаем к «хорошему» Большую часть щепетильной настройки внешнего вида можно вынести в CSS и поручить верстальщику: newElem.className = 'visible'; oldElem.className = 'hidden';


Слайд 12

Загрузи версталу по полной! Чтобы не выискивать все элементы, которые должны изменяться, при подготовке контента, переложи и эту задачу на верстальщика: document.body.className = 'javascript_enabled';


Слайд 13

Как быть с анимацией? Анимация подразумевает постоянное изменение каких-либо CSS свойств, и здесь все классами предусмотреть нельзя. Войти с паролем


Слайд 14

Решение — есть! CSS может нам помочь, предоставив базовые параметры, к примеру: начальное положение конечное положение Получив эти параметры из CSS мы делаем JS более независимым


Слайд 15

Изгоняем HTML из скрипта Выносим новый HTML-кусок в отдельный файл и получаем его с помощью Ajax Находим нужные элементы по: Идентификатору (id="headerPlace")? Имени класса (class="headerPlace")?


Слайд 16

Результат Прозрачный и понятный скрипт, минимально завязанный на верстку Удобство редактирования HTML и CSS Работоспособность, как с JS так и без JS


Слайд 17

Спасибо за внимание Меня можно найти в интернетах: alexfitiskin.ya.ru alexfitiskin.moikrug.ru twitter.com/afitiskin frienfeed.com/afitiskin alexfitiskin@gmail.com afitiskin@dominion.ru


×

HTML:





Ссылка: