Апреля 10, 2010 | by Макс | Недавно лазил по разным веб дизайнерским...

апреля 10, 2010 | by Макс | Недавно лазил по разным веб дизайнерским сайтам и набрел на Automatic Image Slider – по русски jQuery карусель, которая автоматически прокручивает картинки. Или сам пользователь может нажимать на кнопочки, тем самым просматривая картинки превьюшки, на которых обычно размещают самую важную и новую информацию на сайте. Вот сейчас мы такую карусель и сделаем. Я покажу вам как она работает и подробно расскажу как воплотить эту карусель к себе на сайт или блог. Сразу же можете посмотреть как она работает. Для этого перейдите на страницу демо. Как вы видите карусель автоматом прокручивает каждые 5-7 секунд картинки, а также есть кнопочки 1-2-3-4, нажимая на которые можно просматривать заголовки и картинки актуальных статей.

Апреля 10, 2010 | by Макс | Недавно лазил по разным веб дизайнерским...

При нажатии на картинку-ссылку вы перейдете на другую веб-страницу. Как же сделать такую карусель у себя на сайте? Для этого достаточно разместить на сайте небольшой блок HTML-кода, дополнить CSS файл стилями, необходимыми для нормального отображения и настроек карусели, а также прописать js-код. Вот какой код требуется прописать на веб странице, я лично посоветую вам использовать в адресах картинок абсолютные пути (например http://maksis. ru/image. jpg – это абсолютный путь к картинке). 1 2 3 4 Этот HTML-код отвечает за вывод карусели на сайте. Следующий CSS код отвечает за преображение блока картинок так, как нам это необходимо. Позже расскажу как можно будет изменить его для своих нужд. body { background: #222; margin: 0; padding: 0; font: normal 10px Verdana, Arial, Helvetica, sans-serif; } *{outline: none;} img {border: 0;} .container { width: 790px; padding: 0; margin: 0 auto; } .folio_block { position: absolute; left: 50%; top: 50%; margin: -140px 0 0 -395px; } /*–Main Container–*/ .main_view { float: left; position: relative; } /*–Window/Masking Styles–*/ .window { height:286px; width: 790px; overflow: hidden; /*–Hides anything outside of the set width/height–*/ position: relative; } .image_reel { position: absolute; top: 0; left: 0; } .image_reel img {float: left;} /*–Paging Styles–*/ .paging { position: absolute; bottom: 40px; right: -7px; width: 178px; height:47px; z-index: 100; /*–Assures the paging stays on the top layer–*/ text-align: center; line-height: 40px; background: url(paging_bg2.png) no-repeat; display: none; /*–Hidden by default, will be later shown with jQuery–*/ } .paging a { padding: 5px; text-decoration: none; color: #fff; } .paging a. active { font-weight: bold; background: #920000; border: 1px solid #610000; -moz-border-radius: 3px; -khtml-border-radius: 3px; -webkit-border-radius: 3px; } .paging a:hover {font-weight: bold;} Идем дальше. Это мы прописали код для визуального отображения карусели. Дальше нам надо прописать javascript код для функционирования карусели – автоматической прокрутки и вообще прокрутки картинок. $(document).ready(function() { //Set Default State of each portfolio piece $(“.paging”).show(); $(“.paging a:first”).addClass(“active”); //Get size of images, how many there are, then determin the size of the image reel. var imageWidth = $(“.window”).width(); var imageSum = $(“.image_reel img”).size(); var imageReelWidth = imageWidth * imageSum; //Adjust the image reel to its new size $(“.image_reel”).css({‘width’ : imageReelWidth}); //Paging + Slider Function rotate = function(){ var triggerID = $active. attr(“rel”) – 1; //Get number of times to slide var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide $(“.paging a”).removeClass(‘active’); //Remove all active class $active. addClass(‘active’); //Add active class (the $active is declared in the rotateSwitch function) //Slider Animation $(“.image_reel”).animate({ left: – image_reelPosition }, 500 ); }; //Rotation + Timing Event rotateSwitch = function(){ play = setInterval(function(){ //Set timer – this will repeat itself every 3 seconds $active = $(‘.paging a. active’).next(); if ( $active. length === 0) { //If paging reaches the end… $active = $(‘.paging a:first’); //go back to first } rotate(); //Trigger the paging and slider function }, 7000); //Timer speed in milliseconds (3 seconds) }; rotateSwitch(); //Run function on launch //On Hover $(“.image_reel a”).hover(function() { clearInterval(play); //Stop the rotation }, function() { rotateSwitch(); //Resume rotation }); //On Click $(“.paging a”).click(function() { $active = $(this); //Activate the clicked paging //Reset Timer clearInterval(play); //Stop the rotation rotate(); //Trigger rotation immediately rotateSwitch(); // Resume rotation return false; //Prevent browser jump to link anchor }); }); Можно вставить этот код рядом с HTML кодом карусели, однако вообще рекомендую поставить его между тегами так как именно там и должен быть размещен javascript. Теперь можно попробовать – работает ли он на вашем сайте. У меня лично заработал и напомню еще раз, это вы можете увидеть вот здесь. У вас сразу же наверное возникли вопросы – можно ли изменить код карусели так, как нам этого хочется? – Конечно можно. Можно изменить размеры отображаемой картинки, можно изменить скорость прокрутки карусели и время отображения картинки. За паузу между сменами кадров (картинок) отвечает 41я строка js кода, 7000 миллисекунд – это 7 секунд пауза перед тем как картинка перекрутится на следующую. }, 7000); //Timer speed in milliseconds (3 seconds) За скорость прокрутки отвечает 29я строка js кода, также в миллисекундах, чем меньше значение – тем быстрее картинка прокрутится на следующую. }, 500 ); Для изменения ширины и высоты карусельного блока надо подправить 8ю строку CSS кода, который вы видите выше. height:286px; width: 790px; Также можно высоту панели с кнопочками, это прописано в 21й строке CSS кода в свойстве bottom – 40 пикселей от низа картинки. bottom: 40px; right: -7px; Хотя если вы знаете CSS то вам не составит труда самим покопаться в коде и подрихтовать карусель под свои нужды. h++p://arniwebdesign. com/automatic-image-slider-jquery-karusel/ Теги: CSS, jQuery

Понравилась статья? Получай обновления и будь всегда в курсе событий!
Подпишись на RSS или
blog comments powered by Disqus