Сегодня поговорим о том, как, используя библиотеку jQuery и плагин Cycle Plugin, создать небольшое слайдшоу. Это могут быть новости, изображения, различные виджеты и т.п.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <div id="container"> <a id="prev" href="" title="">?</a> <a id="next" href="" title="">?</a> <div id="content"> <div class="contbox"> <!-- Контент --> </div> <div class="contbox"> <!-- Контент --> </div> <!-- При необходимости добавьте дополнительные блоки --> </div> </div> |
#prev и #next используются для прокрутки, можно также включить автозапуск. Содержимое находится в блоках с классом contbox.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #container{ width:500px; margin:20px auto 0 auto } #prev, #next{ display:block; width:50%;height:40px; text-align:center; color:#fff; font:2em/35px Arial, Helvetica, sans-serif; text-decoration:none; background:#757364 } #prev:hover, #next:hover{ background:#D9AA81 } #prev{ float:left } #next{ float:right } #content{ background:#E6E6D1; clear:both } #content .contbox{ padding:10px; width:480px } |
Подключаем следующие файлы в head:
1 2 3 4 5 6 7 8 | <!-- Библиотека jQuery --> <script type="text/javascript" src="jquery.js"></script> <!-- Плагин jQuery Cycle Plugin --> <script type="text/javascript" src="jquery.cycle.js"></script> <!-- Плагин jQuery Easing Plugin --> <script type="text/javascript" src="jquery.easing.js"></script> |
jQuery Easing Plugin необходим для использования дополнительных эффекты перехода. Нужный эффект передаётся в значении параметра easing. В данном примере используется эффект easeInOutExpo
1 2 3 4 5 6 7 8 9 10 11 12 | <script type="text/javascript"> jQuery(window).bind("load", function() { $('#content').cycle({ fx: 'scrollHorz', prev: '#prev', next: '#next', height: 250, timeout: 0, easing: 'easeInOutExpo' }); }); </script> |
У меня в Файрфоксе 2.0.0.18 при загрузке вначале на мгновение отображаются те слайды, которых я видеть не должен.
Алексей, у меня также. Скорее всего это задержка из-за загрузки файлов библиотеки и плагина. Думаю если прописать высоту у блока
#contentв CSS, то этого не будет.У меня вообще появляются какие-то строчки и ничего не ясно что там!
очень интересный эффект. расстраивает только это секундное появление всех дивов = (
Спасибо, очень интересно
Вопрос с отображением всех слайдов во время загрузки можно решить следующим образом:
— сначала скрыть слой
Потом его показать
document.getElementById(«content»).style.visibility=’visible’;
Можно же overflow:hidden поставить
Здравствуйте.
Большое спаисбо за статью. Очень интересный плагин.
А не подскажете — как организовать загрузку этих перелистываемых блоков с помощью аякса? Согласитесь, подгружать по необходимости было бы намного практичнее, чем грузить все сразу на страницу.
Забавная штука
А подгружать можно данные с помощью ajax через inner html, дописывая блок к старому
Да, нащет аякса надо будет поэкспериментировать.
Кстати, пару дней назад наткнулся — http://www.modernstudio.net/ — тут весь сайт сделан таким способом. Там правда используется не эта библиотека, но принцип тотже. Очень даже неплохо смотрится..
спасибо огромное, давно думал как уменьшить место на сайте, которое занимают новости… теперь они в маленьком блоке и можно их листать) прикольно для пользователе, и для меня удобно!!!
Чтобы не было этого секундного появления всех дивов, поставьте для каждого из них style=»display:none».
Alex, лучше использовать функцию jQuery hide(), так дивы будут видны тем, у кого отключён javascript.