- Метки урока:
- изображения
- галерея
- jquery
Управляем галереей движениями мышки.
Сегодня я расскажу о галерее, управлять которой можно при помощи мышки, но не привычными щелчками по кнопке "next" или "previous", а движениями влево, вправо и в другие стороны.
К сожалению, данная галерея не работает в браузере IE 6.0.
Шаг 1.
Подключим необходимые для работы скрипты, прописав следующий код между тегами <head>:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="gestures.js"></script>
Шаг 2.
Между тегами <head> или в отдельном файле CSS-стилей пропишите следующие стили:
#pic { width:500px; height:334px; margin:0 auto; }
.meta { background:#505050; color:#bbb; padding:5px; font-size:1.4em;
display:none;}
Шаг 3.
Вся галерея состоит из двух пустых блоков. Вставим их в наш документ. Вот код:
<div class="meta" id="title"></div>
<div id="pic"></div>
Шаг 4.
Затем вставим следующий скрипт:
<script type='text/javascript'>
var pics = [{
'pic':'1.jpg',
'title':'Gipsy king',
'url':'1.jpg'
}, {
'pic':'2.jpg',
'title':'Carnivale, part II',
'url':'2.jpg'
}, {
'pic':'3.jpg',
'title':'Three cubes',
'url':'3.jpg'
}];
function the_pic() {
return $('#pic').data('pic');
}
function show_pic(nb) {
if ($('#pic:visible').length) {
$('#pic').fadeOut('normal').queue(function () {
$(this).css('background', 'url('+pics[nb].pic+')')
$(this).dequeue().fadeIn('normal');
}).data('pic', nb);
} else {
$('#pic').css('background', 'url('+pics[nb].pic+')').data('pic', nb);
}
$('#title').html(pics[nb].title);
}
function log(txt) {
$('#logger').html(txt);
}
$(function() {
$.gestures.init({active:false,color:'#ff0000'});
$.gestures.register('R', function () {
var nb = (the_pic()+1)%pics.length;
log('<code>Right</code> : Next picture');
show_pic(nb);
});
$.gestures.register('L', function () {
var nb = the_pic();
if (nb == 0) { nb = pics.length - 1} else {nb--}
log('<code>Left</code> : Previous picture');
show_pic(nb);
});
$.gestures.register('UR', function() {
log('<code>Up, Right</code> : Show title');
$('#title').html(pics[the_pic()].title);
$('#title').fadeIn();
});
$.gestures.register('DR', function() {
log('<code>Down, Right</code> : Hide title');
$('#title').fadeOut();
});
$.gestures.register('DL', function() {
log('<code>Down, Left</code> : Open flickr page');
window.open(pics[the_pic()].url);
});
$.gestures.error(function(g) {
log('Unknown Gesture : <code>'+g+'</code>');
});
$(window).keydown(function(e) {
if ($.gestures.active() && e.which==27) {
log('Disabling gestures');
$.gestures.disable();
} else if (!$.gestures.active() && (e.which==17 || e.which==18)) {
$.gestures.enable();
}
});
$(window).keyup(function(e) {
if ($.gestures.active() && (e.which==17 || e.which==18)) {
$.gestures.disable();
}
});
show_pic(0);
})
</script>
В начале этого скрипта измените пути к картинкам непосредственно в галерее (параметр pic), к полноразмерным картинкам (параметр url), а также названия изображений (параметр title)
Готово! Встретимся в следующем уроке!
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.friggeri.net
Перевел: Сергей Патин
Урок создан: 22 Мая 2009
Просмотров: 30788
Правила перепечатки
5 последних уроков рубрики "jQuery"
-
Анимация набора текста на jQuery
Сегодня мы бы хотели вам рассказать о библиотеке TypeIt — бесплатном jQuery плагине. С её помощью можно имитировать набор текста. Если всё настроить правильно, то можно добиться очень реалистичного эффекта.
-
Временная шкала на jQuery
jQuery плагин для создания временной шкалы.
-
Заметка: Перезагрузка и редирект на JavaScript
Быстрая заметка, где вы сможете найти парочку JS сниппетов для перезагрузки и перенаправления пользователей через JavaScript.
-
Рисуем диаграмму Ганта
jQuery плагин для создания диаграммы Ганта.
-
AJAX и PHP: загрузка файла
Пример того как осуществить загрузку файла через PHP и jQuery ajax.