Вы, вероятно, заметили, что slides.html
slides.html
и загрузить изображения в слайд-шоу:$(document). ready(function {
$.get("slides.html", function(data) {
var sNav = [
‘ul class="slide-nav"’,
‘lia class="prev" href="#welcome-slides"Previous/a/li’,
‘lia class="next" href="#welcome-slides"Next/a/li’, ‘/ul’
].join("");
$(".welcome.slides")
.append(data). wrapInner(‘div class="slidewrap"div id="welcome-slides" class="slider"/div/div’)
.find(".slidewrap")
.append(sNav)
.carousel({
slide: ‘.figure’
});
});
});
На этом ставим точку. Функция jQuery .get
slides.html
) и вставляет его содержание в модуль при помощи append
. Если JavaScript недоступен или если jQuery не может загрузить этот файл, то пользователь увидит одну картинку в верхней части страницы: абсолютно приемлемый вариант для нашего дизайна (рис. 5.19).Рис. 5.19.
Нет JavaScript? Никаких проблем. Слайд-шоу сокращается до размеров одной картинки, которая все равно отлично выглядитДальнейшие улучшения
Наш простой скрипт пополнился кодом, но конечный результат выглядит более надежно и функционально. Мы не принимаем во внимание возможности браузера или устройства, отображающего нашу страницу: если JavaScript доступен, на экране появится слайд-шоу.
Но нет предела совершенству, и этот небольшой черновой образец – не исключение. Например, мы могли бы сделать так, чтобы слайд-шоу появлялось только на определенных типах экранов, то есть указать в скрипте определенные диапазоны разрешений. Так, если мы не хотим, чтобы оно отображалось на устройствах с маленькими экранами, мы могли бы вставить в скрипт простую проверку разрешения:
if (screen.width 480) {)
$(document). ready(function({ … });
}
Этот оператор if
min-width: 480px
: если экран уже 480px
, вложенный JavaScript не будет применяться (рис. 5.20).Рис. 5.20.
Мы решили, что слайд-шоу станет доступным только для браузеров с разрешением свыше 480px. На более мелких экранах будет видна одна-единственная картинкаПойдем еще дальше. Например, мы можем использовать легковесный JavaScript-загрузчик LabJS или Head JS для динамической загрузки jQuery, плагина «карусель» и нашего собственного custom.js
Вперед! Будь отзывчивым!
Я упомянул эти расширения совсем не потому, что это единственный правильный и нужный подход. В век портативных точек доступа с 3G и телефонов, оснащенных Wi-Fi, мы не можем на основании размеров экрана делать вывод о пропускной способности устройств. Но при необходимости вы всегда сможете использовать эти расширения.
И все же я считаю, что решать связанные с функциональностью проблемы необходимо с точки зрения философии «сначала мобильные». Если я не подпускаю к хитрому интерфейсу мобильных пользователей, то какой от него прок для моей остальной аудитории? Если вы думаете, что это некорректный вопрос, знайте: легких ответов здесь нет.
Дело в том, что для успеха в веб-дизайне необходимо уметь задавать правильные вопросы. Отзывчивый веб-дизайн – это возможное решение, способ сделать дизайн более приспособленным к врожденной гибкости Сети. В первой главе я говорил, что отзывчивый дизайн состоит из «резиновой» сетки, гибких изображений и медиазапросов. Но на самом деле это всего лишь слова, которые мы используем, чтобы озвучить решения проблем, с которыми сталкиваются пользователи, описать рамки для упорядочивания контента в постоянно увеличивающемся море устройств и браузеров.