Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Uchebno-metodicheskoe_posobie

.pdf
Скачиваний:
9
Добавлен:
19.03.2016
Размер:
367.46 Кб
Скачать

<section class="main"> <ul class="ch-grid"> <li>

<div class="ch-item"> <div class="ch-info">

<div class="ch-info-front ch-img-1"></div> <div class="ch-info-back">

<h3> Кнопка </h3> </div></div></div></div> </li></ul></section>

Далее необходимо сделать её более красочной используя CSS:

 

 

ch-grid

.ch-grid:after

{

{

margin: 20px 0 0 0;

clear: both;

padding: 0;

}

list-style: none;

.ch-grid li

display: block;

{

text-align: center;

width: 220px;

width: 100%;

height: 220px;

}

display: inline-block;

.ch-grid:after,

margin: 20px;

.ch-item:before

}

{

.ch-item

content: '';

{

display: table;

width: 100%;

}

height: 100%;

 

 

 

 

border-radius: 50%;

{

position: relative;

display: block;

cursor: default;

position: absolute;

-webkit-perspective:

width: 100%;

900px;

height: 100%;

-moz-perspective:

border-radius: 50%;

900px;

background-position:

-o-perspective: 900px;

center center;

-ms-perspective: 900px;

-webkit-transition: all

perspective: 900px;

0.4s linear;

}

-moz-transition: all 0.4s

.ch-info

linear;

{

-o-transition: all 0.4s

position: absolute;

linear;

width: 100%;

-ms-transition: all 0.4s

height: 100%;

linear;

-webkit-transform-

transition: all 0.4s

style: preserve-3d;

linear;

-moz-transform-style:

-webkit-transform-

preserve-3d;

origin: 50% 0%;

-o-transform-style:

-moz-transform-origin:

preserve-3d;

50% 0%;

-ms-transform-style:

-o-transform-origin:

preserve-3d;

50% 0%;

transform-style:

-ms-transform-origin:

preserve-3d;

50% 0%;

}

transform-origin: 50%

.ch-info > div

0%;

}

40

41

 

 

.ch-info .ch-info-front

.ch-img-1

{

{

box-shadow: inset 0 0 0

background-image:

16px rgba(0,0,0,0.3);

url(/*Cсылка на картинку);

}

.ch-info h3

.ch-info .ch-info-back

{

{

color: #fff;

-webkit-transform:

text-transform:

translate3d(0,0,-220px)

uppercase;

rotate3d(1,0,0,90deg);

letter-spacing:

-moz-transform:

2px;

translate3d(0,0,-220px)

font-size: 24px;

rotate3d(1,0,0,90deg);

margin: 0 15px;

-o-transform:

padding: 60px 0

translate3d(0,0,-220px)

0 0;

rotate3d(1,0,0,90deg);

height: 110px;

-ms-transform:

font-family:

translate3d(0,0,-220px)

‘Open Sans’,Arial, sans-serif;

rotate3d(1,0,0,90deg);

text-shadow:

transform:

0 0 1px #fff,

translate3d(0,0,-220px)

0 1px 2px rgba(0,0,0,0.3);

rotate3d(1,0,0,90deg);

}

background: #000;

font-style: italic;

opacity: 0;

margin: 0 30px;

}

font-size: 12px;

ch-info p

border-top: 1px solid

{

rgba(255,255,255,0.5);

color: #fff;

}

padding: 10px 5px;

 

 

 

.ch-info p a

rotate3d(1,0,0,-90deg);

{

-o-transform:

display: block;

translate3d(0,280px,0)

color: #fff;

rotate3d(1,0,0,-90deg);

color:

-ms-transform:

rgba(255,255,255,0.7);

translate3d(0,280px,0)

font-style: normal;

rotate3d(1,0,0,-90deg);

font-weight: 700;

transform:

text-transform:

translate3d(0,280px,0)

uppercase;

rotate3d(1,0,0,-90deg);

font-size: 9px;

opacity: 0;

letter-spacing: 1px;

}

padding-top: 4px;

.ch-item:hover .ch-info-back

font-family: ‘Open

{

Sans’,Arial, sans-serif;

-webkit-transform:

}

rotate3d(1,0,0,0deg);

.ch-info p a:hover

-moz-transform:

{

rotate3d(1,0,0,0deg);

color: #fff222;

-o-transform:

color: rgba(255,242,34,

rotate3d(1,0,0,0deg);

0.8);

-ms-transform:

}

rotate3d(1,0,0,0deg);

.ch-item:hover .ch-info-front

transform:

{

rotate3d(1,0,0,0deg);

-webkit-transform:

opacity: 1;

translate3d(0,280px,0)

}

rotate3d(1,0,0,-90deg);

 

-moz-transform:

 

translate3d(0,280px,0)

 

42

43

В данном примере кнопка «переворачивается», это даёт возможность размещать на ней текст с двух сторон и делает её более информативной и, что немаловажно, она стильно смотрится на веб-странице.

2.5 Галерея фотографий

Создадим простую галерею фотографий и отобразим ее создание в поэтапной инструкции:

1. Создадим html документ и назовем его: index. html. В нем напишем следующее:

<html>

<head>

<script src="jquery-2.1.3.js"></script> //Подключаем JQuery

<title>Галерея фотографий</title> //Название страни-

цы

</head> <body > <center>

<img src="" width="640" height="480" id="img"/><br /> //Контейнер для изображений

//Следующие ссылки это элементы переключения изображений

<a href="#" onClick="javascript: left_ arrow()">Предыдущая</a>

<a href="#" onClick="javascript: right_ arrow()">Следующая</a>

</center>

<script src="galery.js"></script> //Подключаем javascript

</body>

</html>

Мы создаем картинку с размером «640x480». Фиксированный размер задаем для того, чтобы изображение не смещалось, если оно будет иметь больший размер.

Затем добавляем 2 ссылки переключения изображений (Следующая и Предыдущая) на которые накладываем 2 события(onClick).

2. Создадим файл galery.js. В нем напишем несколько функций:

var mas = ["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg"] // массив картинок

var to = -1; // Счетчик, указывающий на текущую картинки

function right_arrow() // Открытие следующей картинки(движение вправо)

{

var obj = $("#img"); //Присваеваем переменной элемент if (to < mas.length-1) to++ //Если переменная to меньше длины массива тогда to увеличиваем на 1, если меньше то присваеваем 0 (то есть отправляем в начало массива) else

to = 0;

44

45

obj.attr("src", mas[to]); //Меняем значение ссылки на изображение в элементе на нужное

}

function left_arrow() // Открытие предыдущей картинки(движение влево)

{

var obj = $("#img"); if (to > 0) to--;

else

to = mas.length-1; obj.attr("src", mas[to]);

}

right_arrow(); //Запускаем движение вправо для отображения первой картинки при открытии страницы

Рис. 7 Визуалное представление галереи фотографий в окне браузера

2.6 Прокрутка html-страницы методами JQuery

Кнопка прокрутки

Разберем, как с помощью jQuery сделать проявляющуюся кнопку прокрутки к началу страницы. При небольшом скроллинге в правом нижнем углу страницы (или любом другом месте) будет проявляться кнопка (сделаем ее в виде картинки) с надписью или без нее, при клике на которую страница будет плавно прокручиваться к началу. После того, как страница окажется прокрученной до начала,кнопка исчезнет.

1. Создаем документ и подключаем файлы

Если действовать по всем правилам, к нашей странице следует подключить 3 файла:

Таблицу CSS стилей – подключаем в <head>; Файл библиотеки jQuery – можно подключить в са-

мом конце <body> — тогда он будет подгружаться после загрузки контента, что нам, в общем, и нужно.

Собственно файл скрипта, который будет выполнять скроллинг – его подключаем после файла jQuery.

Все содержимое для удобства поместим в блок

#content

Получилось вот так:

<!DOCTYPE HTML> <html>

<head>

<link rel="stylesheet" href="style.css" type="text/css" /> <meta charset="utf-8" />

<title>Кнопка прокрутки к началу страницы</title>

46

47

</head>

<body>

<div id="content"><p>Длинный-длинный контент</p></ div>

<script src="jquery.js" type="text/javascript"></script> <script src="scroll.js" type="text/javascript"></script> </body>

</html>

2. Прописываем стили

Для блока #content пропишем хорошую высоту, чтобы получить полосы прокрутки, и рамку – просто, чтобы посмотреть на него.

Роль кнопки будет выполнять <div> #arrow. Ему мы зададим ширину и высоту, фоновую картинку (в целях обучения, без нее можно вполне обойтись) и position: fixed. В начале кнопку мы не видим, поэтому display: none

#content

{

height: 4200px; border: 1px solid red;

}

#arrow

{

background: transparent url(up.png) no-repeat; width: 60px;

height: 40px; position: fixed; bottom: 10px; right: 40px;

cursor: pointer; /*рисуем ручку при наведении, так привычнее*/

display: none;

}

Закомментируйте пока display: none, чтобы удостовериться, что все получилось, и кнопка сидит на нужном месте.

3. Пишем скрипт

Первым делом создадим наш блок-кнопку с помощью jQuery и поместим ее на страницу. Место расположения не особенно важно, потому что кнопка имеет position: fixed, а значит, не находится в нормальном потоке. Запихнем ее сразу после контента, для этого можно использовать один из восьми методов вставки элементов на страницу, например, метод insertAfter(). Не забываем обернуть весь код в document-ready.

$(document).ready(function()

{

$('<div id="arrow">up</div>').insertAfter('#content');

});

Заметим, что этот шаг мы могли бы не делать, если бы прописали <div> прямо в HTML. Но лучше не засорять HTML непонятным и лишним на первый взгляд кодом. Пусть блок, с которым работает только jQuery, и

48

49

порождает сам jQuery.

Теперь, когда мы создали блок, можно привязать к нему обработчик события.

$('#arrow').click(function()

{

$('html, body').animate(

{

scrollTop: 0 }, 'slow')

});

Прокручивать мы должны элемент html. Но для того, чтобы скрипт работал и в режиме совместимости, добавляем к селектору еще и элемент body.

4. Изменяем внешний вид

Кнопка #arrow нам нужна только тогда, когда мы прокрутили страницу на какое-то расстояние. Поэтому давайте будем показывать ее только тогда, когда страница прокручена уже, скажем, на 400 пикселей, а если прокрутка меньше, то кнопку будем прятать.

Реализуем все это с помощью отслеживания события scroll, которое возникает при каждом взаимодействии с полосой прокрутки (будь то сдвиг её мышкой, или с помощью колеса мыши, или стрелками на клавиатуре).

$(window).scroll(function()

{

if ($(this).scrollTop() >= 400)

{

$('#arrow').fadeIn();

}

else

{

$('#arrow').fadeOut();

};

});

Каждый раз, когда окно прокручивается, если оно прокручено на 400 пикселей и больше от начала – плавно проявляем (fadeIn) кнопку arrow. А если оно прокручено меньше, чем на 400px, плавно ее скрываем (fadeOut).

Не забудьте раскомментировать «display: none» в стилях.

Поместим этот код между строчкой создания кнопки и обработчиком ее нажатия.

$(document).ready(function()

{

$('<div id="arrow">up</div>').insertAfter('#content'); $(window).scroll(function()

{

if ($(this).scrollTop() >= 400)

{

$('#arrow').fadeIn();

}

else

{

$('#arrow').fadeOut();

50

51

};

}); $('#arrow').click(function()

{

$('html, body').animate(

{

scrollTop: 0 }, 'slow')

})

});

Плавная прокрутка веб-страницы к нужному элементу или якорю.

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

Для создания якоря следует вначале сделать закладку в соответствующем месте и дать ей имя при помощи атрибута name тега <a>. В качестве значения href для перехода к этому якорю используется имя закладки с символом решетки "#" впереди:

<div class="top_menu"><a name="top"></a></div> <div id="content">Some content here</div>

<a href="#top">Go to page top</a>

Скрипт должен срабатывать по клику на ссылках, у которых атрибут href начинается с решетки "#". В jQuery

это сделаем так:

$('a[href^="#"]').click(function()

{//Сохраняем значение атрибута href в переменной: var target = $(this).attr('href');

$('html, body').animate(

{

scrollTop: $(target).offset().top }, 800);

return false;

});

Для изменения значения отступа прокрутки сверху используется метод scrollTop. offset().top определяет значение отступа сверху для якоря (с id равному значению атрибута href), которое устанавливается в scrollTop.

Плавность реализует функция animate.

В конце не забываем поставить return false; для отмены действия по умолчанию.

Скрипт можно разместить в HTML странице заключив в тег script или же подключить отдельным файлом (с расширением js) что позволит использовать это на всех страницах нашего сайта.

52

53

Заключение

В данном методическом пособии быи представлены лишь некоторые методы, при помощи которых можно создать хороший, крсочный сайт под управлением JQuery приложений. Таких методов и технологий настолько много, что для полного их описания не хватит и тысячи страниц, тем более, что каждый день кто-то придумывает новый способ использования тех или иных методов.

Хотелось бы отметить, что JQuery лишь один из многих языков, которые уместно использовать для создания программынх приложений, как для сайтов, так и для использования на персональном компьютере или мобильном девайсе. Мы обратили внимание именно на этот язык из-за его практической удобности, наличии большого количества возможностей и привязанности этого языка к курсу «Интернет-программирование».

Надеемся, что наше пособие поможет Вам в создании своего собстенного сайта!

54