Скрипт jQuery: слайдер предпросмотра новостей

методы jquery

От автора: Сегодня мы создадим jQuery скрипт предпросмотра новостей, позволяющий компактно показывать наши самые последние статьи или записи на сайте. Слайдер предпросмотра новостей на jQuery, будет демонстрировать определённый список статей слева и анонс данной статьи с более длинным описанием справа. Как только на новость слева щелкнут, сразу выскользнет анонс.

Перед тем, как мы приступим к созданию слайдера новостей на jQuery, я Вам рекомендую просмотреть демо-результат работы.

Также скачайте исходники себе на компьютер!

Давайте начнем с разметки.

Разметка слайдера анонсов новостей, на jQuery

У нас будет основной контейнер "cn_wrapper", содержащий правый элемент с классом "cn_preview" и левый – с классом "cn_list". Div анонса будет заключать элементы контента. Каждый из них содержит изображение анонса, название и описание наряду с несколькими фрагментами и ссылкой на саму статью.

В списке слева у нас будут соответствующие пункты кратких описаний. В конце этого контейнера мы также добавим навигацию для пошагового движения по страницам:

Первый элемент содержимого контейнера анонса уже будет иметь стиль к моменту прокрутки, а именно отступ сверху 5 px. Все остальные анонсы скрыты "hidden", потому что у них будет отступ сверху на 310 px.

Список элементов будет разделен на страницы, каждая из которых содержит самое большее 5 пунктов.

Давайте посмотрим на стиль.

CSS

Для создания нескольких изящных эффектов мы используем множество свойств CSS3. Мы применим тени, закругленные края и градиенты как с RGB, так и с шестнадцатеричными значениями.

Давайте начнем с основного контейнера. Мы установим его относительно, чтобы затем можно было внутри него использовать абсолютное позиционирование:

Заголовки внутри нашей программы просмотра получат следующий стиль:

В списке программы просмотра используется h2, и мы передаем ему нижнюю границу для создания под ним красивой «выгравированной» линии. Это сработает, потому что мы передадим p, следующему за ним, верхнюю границу более светлого цвета.

И анонс, и список будут позиционированы абсолютно, так что мы сначала определим общий стиль, а затем будем перезаписывать атрибут left для каждого анонса:

Внутри анонса у нас будет несколько элементов содержимого, у которых будут следующие стили:

Эти элементы будут анимированы с помощью JavaScript. Вначале нам нужно их скрыть, так что определяем отступ сверху (top) больше обертывающего (основного) div-a. Вот почему мы устанавливаем overflow обертывающего (основного) div-a как скрытое (hidden) так, чтобы не видеть ничего, выходящего за его границы.

Теперь назначим стили элементам внутри div’а content.
Изображение в нашем случае всегда будет максимальной ширины 215 px. Обратите вниманием, что если у вас изображение другого размера, вам придется под него подогнать все элементы. В этом случае высота изображения будет 119 px. Это значение, на котором мы будем базировать высоту следующих элементов.

Дата и категория будут позиционированы абсолютно внизу div’а content:

Описание, являющееся элементом p, будет иметь фиксированную высоту, а если оно длиннее, то будет обрезано:

Кнопка more (далее), которая будет ссылкой на исходную статью, будет снабжена градиентом, тенью и закругленными границами внизу слева и справа, чтобы подходить к содержимому:

Смена цвета шрифта при проведении мышью создаст красивый объемный эффект:

Теперь мы определим стили пунктам списка. У них в качестве фона будет градиент, меняющийся при проведении над ним мышью (hover). К выбранному пункту мы также применим эффект hover.

«Гравированная» линия под заголовком, кроме того, будет менять цвет:

Псевдокласс active, например, при щелчке на пункт списка получит эффект выгравированного текста при помощи следующего стиля:

Короткое описание в пункте списка будет иметь фиксированную высоту и верхнюю границу, которые в сочетании с нижней границей h2 создадут линию, которая смотрится как гравированная:

Теперь давайте присвоим стили навигации. Мы установим ее абсолютно внизу своего контейнера списка:

У следующего и предыдущего элементов будет следующий общий стиль:

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

При проведении мышью мы просто меняем цвет фона:

При щелчке по пункту навигации мы сдвигаем его вниз на 1 px, таким образом он смотрится нажатым. Это можно сделать, установив верхнее поле на 1px:

У неактивного элемента навигации непрозрачность будет 0.5:

Последнее, что нам нужно определить – чтобы страницы списка не были видны. Потом мы сделаем их видимыми в JavaScript:

Вот и весь стиль. Теперь давайте с помощью jQuery добавим эффекты!

JavaScript

Для создания эффектов мы используем easing, так что не забудьте включить jQuery плагин easing.

В jQuery мы начнем с определения нескольких переменных:

Для каждого элемента сохраняем его индекс относительно всего документа. Привязываем событие щелчка (click), которое заставляет текущий или нажатый элемент скользить вверх или вниз. В зависимости от текущего элемента (следует ли он до или после последнего нажатого), нажатый будет сдвигаться вверх или вниз:

Теперь определим, что происходит, когда в навигации щелкают на next (следующая). Следующая страница должна постепенно проявиться, если она существует, или же нужно деактивировать кнопку, если следующей страницы не существует:

И то же самое для предыдущей страницы:

Чтобы все выглядело еще лучше, мы добавляем в заголовок HTML следующие строки, используя модуль cufon-yui.js:

На этом мануал по созданию плагина слайдера новостей на jQuery окончен. Надеемся, что вам этот учебник понравился и оказался полезным!!

киберсант-вебмастер

Автор: Mary Lou

Редакция: Рог Виктор и Андрей Бернацкий. Команда webformyself.

E-mail: contact@webformyself.com

Проект webformyself.com — Как создать свой сайт. Основы самостоятельного сайтостроения

P.S. Хотите опубликовать интересный тематический материал и заработать? Если ответ «Да», то жмите сюда.

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии (14)