Отзывчивый веб-дизайн - [29]

Шрифт
Интервал


>Рис. 5.17. Мы добавляем новые слайды и начинаем ненавидеть статичные картинки


Нашему скрипту ">карусели" не хватает еще трех элементов >script:


>

>

>


Поскольку скрипт Мэтта требует запуска jQuery, я загрузил библиотеку с http://jquery.com и поместил ее в верхнюю часть страницы (>jquery.js), за которой следует скрипт Мэта (>carousel.js) и файл >core.js, где мы и напишем код для слайд-шоу.

Кстати, он совсем простой. Впишем в >core.js следующие строчки:


>$(document). ready(function() {

>$(".welcome.slides")

>.wrapInner(‘

’)

>.find(".slidewrap")

>.carousel({

>slide: ‘.figure’

>});

>});


Ничего страшного, если вам не нравится JavaScript или вы прежде не использовали jQuery. Этот скрипт выполняет следующие действия.

1. Он располагает элемент >div.slides внутри модуля >.welcome при помощи CSS-ориентированного синтаксиса jQuery (>$(".welcome.slides")).

2. Затем обрамляет контент необходимой разметкой (>.wrapInner(…))

3. Запускает функцию >.carousel(), создавая слайд-шоу. А поскольку мы присвоили отдельным слайдам класс >.figure, мы дали указания скрипту их использовать.

Эти восемь строчек JavaScript дают нам в результате прекрасно работающее слайд-шоу (рис. 5.18). Ура!


>Рис. 5.18. Нам удалось оживить слайд-шоу!

Загружаем контент не спеша, но с умом

По крайней мере, нам есть с чего начинать. Если мы в браузере отключим JavaScript, мы вернемся к тому, с чего начинали: слайды накладываются друг на друга, а меню навигации тут просто для красоты. То есть любой посетитель сайта, у которого нет доступа к JavaScript, получит невнятное и неправильное представление. Что ж, давайте решим эту проблему.

Для начала уберем навигацию «вперед/назад» из разметки и вставим ее через JavaScript:


>$(document). ready(function() {

>var sNav = [

>‘

  • ’,

    >‘

  • ’,

    >‘’

    >].join("");

    >$(".welcome.slides")

    >.wrapInner(‘

    ’)

    >.find(".slidewrap")

    >.append(sNav)

    >.carousel({

    >slide: ‘.figure’

    >});

    >});


    Теперь код выглядит более сложным, но мы на самом деле ввели только одну новую часть функциональности. Прежде всего мы заявили переменную >sNav, которая содержит HTML для навигации слайдов, и вставили ее перед функцией >carousel(). Благодаря тому, что мы использовали jQuery для вставки навигации в страницу, пользователи без JavaScript не смогут ее увидеть. Прогрессивное улучшение в действии.

    Но это не решает проблему накладывания слайдов один на другой. И здесь мы немного схитрим: мы уберем со страницы все слайды, кроме одного, и переместим их в отдельный HTML-файл. Теперь основа нашей страницы выглядит значительно легче:


    >

    >

    >

    >

    >

    >


    Но мы создали отдельный файл (давайте назовем его >slides.html) и вставили в него разметку для четырех оставшихся слайдов.


    >

    >

    >

    >

    >

    >

    >

    >…

    >


    Вы, вероятно, заметили, что >slides.html – это даже не полноценный HTML-документ. Это на самом деле отрывок, мини-документ, в котором мы можем сохранить часть HTML-кода и использовать его позже. Фактически мы воспользуемся jQuery, чтобы открыть >slides.html и загрузить изображения в слайд-шоу:


    >$(document). ready(function() {

    >$.get("slides.html", function(data) {

    >var sNav = [

    >‘

    >].join("");

    >$(".welcome.slides")

    >.append(data). wrapInner(‘

    ’)

    >.find(".slidewrap")

    >.append(sNav)

    >.carousel({

    >slide: ‘.figure’

    >});

    >});

    >});


    На этом ставим точку. Функция jQuery >.get () открывает наш HTML-отрывок (>slides.html) и вставляет его содержание в модуль при помощи >append(). Если JavaScript недоступен или если jQuery не может загрузить этот файл, то пользователь увидит одну картинку в верхней части страницы: абсолютно приемлемый вариант для нашего дизайна (рис. 5.19).


    >Рис. 5.19. Нет JavaScript? Никаких проблем. Слайд-шоу сокращается до размеров одной картинки, которая все равно отлично выглядит

    Дальнейшие улучшения

    Наш простой скрипт пополнился кодом, но конечный результат выглядит более надежно и функционально. Мы не принимаем во внимание возможности браузера или устройства, отображающего нашу страницу: если JavaScript доступен, на экране появится слайд-шоу.

    Но нет предела совершенству, и этот небольшой черновой образец – не исключение. Например, мы могли бы сделать так, чтобы слайд-шоу появлялось только на определенных типах экранов, то есть указать в скрипте определенные диапазоны разрешений. Так, если мы не хотим, чтобы оно отображалось на устройствах с маленькими экранами, мы могли бы вставить в скрипт простую проверку разрешения:


    Рекомендуем почитать
    От батутов до попкорна – 2. 100 дел ФАС России против малого и среднего бизнеса

    Эта книга – продолжение первой части, вышедшей в 2015 г. Во второй части анализируются 100 дел ФАС России против малого и среднего бизнеса за 2016—2018 гг. Несмотря на принятие 3.07.2016 закона об «иммунитетах» для малого бизнеса от антимонопольного контроля, подходы ФАС изменились незначительно. По основным объектом преследования остаются н самые крупные игроки на рынке. В книге предлагается реформа антимонопольного регулирования, предусматривающая полное прекращение преследования МСП.


    Варгань, кропай, марай и пробуй

    Нейробиолог Шрини Пиллэй, опираясь на последние исследования мозга, примеры из спорта и бизнеса и истории из своей психологической практики, бросает вызов традиционному подходу к продуктивности. Вместо внимания и сосредоточенности он предлагает специально «расфокусироваться», чтобы стимулировать креативность, развить память, увеличить продуктивность и двигаться к целям. На русском языке публикуется впервые.


    Автоматический покупатель

    Сразу после выхода в свет эта книга заняла первые места на Amazon среди книг по маркетингу и клиентскому сервису. Формирование источника регулярной выручки для компании – важная задача каждого предпринимателя. Благодаря разнообразию разновидностей бизнес-моделей на основе подписки для каждой отрасли можно найти подходящий вариант. Подписчики в любом случае намного ценнее для компании, чем обычные покупатели. Эта книга для всех, кто хочет построить бизнес-модель, приносящую регулярную прибыль. На русском языке публикуется впервые.


    Отношение определяет результат

    В бизнесе да и в жизни уже не так важно, что именно вы делаете. Гораздо важнее то, как вы это делаете. Дов Сайдман, основатель и CEO компании LRN, на страницах своей книги убедительно доказывает: моральные «факторы», прежде считавшиеся «факультативными», определяют сегодня ваш успех. Только ориентируясь на нравственные ценности, выстраивая отношения на основании доверия и заботясь о собственной репутации, вы сможете обойти конкурентов и преуспеть в бизнесе и в жизни. Эта книга будет полезна владельцам компаний, руководителям и менеджерам, которые заботятся не только о прибыли, но и о том, какое наследство они оставят своим детям.


    Монетизация инноваций. Как успешные компании создают продукт вокруг цены

    Инновации являются важнейшим фактором роста. Сегодня, более чем когда-либо, компании должны внедрять инновации, чтобы выжить. Но успешные инновации – это очень непростая задача. Авторы – партнеры всемирно известной консалтинговой компании Simon-Kucher & Partners Strategy & Marketing Consultants знают о чем говорят. Георг Таке – ее генеральный директор, а Мадхаван Рамануджам – партнер в Сан-Франциско. Simon-Kucher & Partners – глобальная консалтинговая компания, насчитывающая 900 профессионалов в 33 офисах по всему миру.


    Аттестация персонала – путь к взаимопониманию

    «Шпаргалки для менеджеров» – это ваши «карманные консультанты» в решении самых разных проблем деловой, да и повседневной жизни. Ничего лишнего – только самое главное!Аттестация персонала – важнейший этап в работе менеджера, который стремится к взаимопониманию и эффективному сотрудничеству с подчиненными. Здесь вы найдете практические советы о том, как проводить собеседование, выносить объективную оценку и способствовать профессиональному росту сотрудников.