Нужна Ваша помощь в автоматической прокрутке слайдера
Прошу помочь с слайдером на css3, что нужно добавить в коде, чтобы картинку или текст сделать ссылкой, пробовал все известные мне варианты, не получается(
<div class="slides"> <ul> <li><img alt="" src="http://www.luxurytravelagency.com/wp-content/uploads/2011/10/MontageBeverlyHills-550x300.jpg" title="Заголовок для изображения #1" /> <div>Текст для слайдера #1</div> </li> <li><img alt="" src="http://www.fubiz.net/wp-content/uploads/2009/10/click1-550x300.jpg" title="Заголовок для изображения #2" /> <div>Текст для слайдера #2</div> </li> <li><img alt="" src="http://www.thelostogle.com/wp-content/uploads/2014/04/Sun-City-Solar-Power-Oklahoma-Ranchwood_1-550x300.jpg" title="Заголовок для изображения #3" /> <div>Текст для слайдера #3</div> </li> <li><img alt="" src="http://serviceyard.net/wp-content/uploads/2016/03/watermarked-2F25A71D00000578-0-image-a-10_1449517874588-550x300.jpg" title="Заголовок для изображения #4" /> <div>Текст для слайдера #4</div> </li> <!-- сюда добавляем по необходимости еще слайды --> </ul> </div> .slides { height:300px; margin:50px auto; overflow:hidden; position:relative; width:550px; } .slides ul { list-style:none; position:relative; } /* keyframes #anim_slides */ @-webkit-keyframes anim_slides { 0% { opacity:0; } 6% { opacity:1; } 24% { opacity:1; } 30% { opacity:0; } 100% { opacity:0; } } @-moz-keyframes anim_slides { 0% { opacity:0; } 6% { opacity:1; } 24% { opacity:1; } 30% { opacity:0; } 100% { opacity:0; } } .slides ul li { opacity:0; position:absolute; top:0; /* css3 animation */ -webkit-animation-name: anim_slides; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -moz-animation-name: anim_slides; -moz-animation-duration: 24.0s; -moz-animation-timing-function: linear; -moz-animation-iteration-count: infinite; -moz-animation-direction: normal; -moz-animation-delay: 0; -moz-animation-play-state: running; -moz-animation-fill-mode: forwards; } /* css3 delays */ .slides ul li:nth-child(2), .slides ul li:nth-child(2) div { -webkit-animation-delay: 6.0s; -moz-animation-delay: 6.0s; } .slides ul li:nth-child(3), .slides ul li:nth-child(3) div { -webkit-animation-delay: 12.0s; -moz-animation-delay: 12.0s; } .slides ul li:nth-child(4), .slides ul li:nth-child(4) div { -webkit-animation-delay: 18.0s; -moz-animation-delay: 18.0s; } .slides ul li img { display:block; } /* keyframes #anim_titles */ @-webkit-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } @-moz-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } .slides ul li div { background-color:#000000; border-radius:10px 10px 10px 10px; box-shadow:0 0 5px #FFFFFF inset; color:#FFFFFF; font-size:26px; left:10%; margin:0 auto; padding:20px; position:absolute; top:50%; width:200px; /* css3 animation */ -webkit-animation-name: anim_titles; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -moz-animation-name: anim_titles; -moz-animation-duration: 24.0s; -moz-animation-timing-function: linear; -moz-animation-iteration-count: infinite; -moz-animation-direction: normal; -moz-animation-delay: 0; -moz-animation-play-state: running; -moz-animation-fill-mode: forwards; } |
Такой вариант пробовал <a href="адрес ссылки" ><img src="адрес картинки" ></a> - не работает, также пробовал <a href="адрес ссылки" >Название ссылки</a>...может не туда вставлял
|
Sergyk85,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .infoPanel div{ display: none; } .slides { height:300px; margin:50px auto; overflow:hidden; position:relative; width:550px; } .slides ul { list-style:none; position:relative; } /* keyframes #anim_slides */ @-webkit-keyframes anim_slides { 0% { opacity:0; } 6% { opacity:1; } 24% { opacity:1; } 30% { opacity:0; } 100% { opacity:0; } } @-moz-keyframes anim_slides { 0% { opacity:0; } 6% { opacity:1; } 24% { opacity:1; } 30% { opacity:0; } 100% { opacity:0; } } .slides ul li { opacity:0; position:absolute; top:0; /* css3 animation */ -webkit-animation-name: anim_slides; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -moz-animation-name: anim_slides; -moz-animation-duration: 24.0s; -moz-animation-timing-function: linear; -moz-animation-iteration-count: infinite; -moz-animation-direction: normal; -moz-animation-delay: 0; -moz-animation-play-state: running; -moz-animation-fill-mode: forwards; } /* css3 delays */ .slides ul li:nth-child(2), .slides ul li:nth-child(2) div { -webkit-animation-delay: 6.0s; -moz-animation-delay: 6.0s; } .slides ul li:nth-child(3), .slides ul li:nth-child(3) div { -webkit-animation-delay: 12.0s; -moz-animation-delay: 12.0s; } .slides ul li:nth-child(4), .slides ul li:nth-child(4) div { -webkit-animation-delay: 18.0s; -moz-animation-delay: 18.0s; } .slides ul li img { display:block; } /* keyframes #anim_titles */ @-webkit-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } @-moz-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } .slides ul li div { background-color:#000000; border-radius:10px 10px 10px 10px; box-shadow:0 0 5px #FFFFFF inset; color:#FFFFFF; font-size:26px; left:10%; margin:0 auto; padding:20px; position:absolute; top:50%; width:200px; /* css3 animation */ -webkit-animation-name: anim_titles; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -moz-animation-name: anim_titles; -moz-animation-duration: 24.0s; -moz-animation-timing-function: linear; -moz-animation-iteration-count: infinite; -moz-animation-direction: normal; -moz-animation-delay: 0; -moz-animation-play-state: running; -moz-animation-fill-mode: forwards; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { var img = $(".infoPanel li a img").fadeTo(1,0.8), len = img.length,n = 0; !function show() { $("a.current").next().fadeOut(); $(".infoPanel li a.current img").fadeTo(1,0.8); $("a.current").removeClass("current"); $(".infoPanel li a").eq(n).addClass("current"); $("a.current").next().fadeIn(); $(".infoPanel li a.current img").fadeTo(250,1); n = ++n % len; window.setTimeout(show, 1500) }() }); </script> </head> <body> <div id="content"> <ul class="infoPanel"> <li> <a href="#url" class="infoLink current"><img alt="" src="images/image1.jpg" style="opacity: 1;"> <span>Ведьмак 2: Убийцы королей</span> <p>Игра 2011 года</p> </a> <div> <img alt="" src="images/image1.jpg"> </div> </li> <li> <a href="#url" class="infoLink"><img alt="" src="images/image2.jpg" style="opacity: 0.8;"><span>Dragon Age: Origins</span> <p>Игра 2009 года</p> </a> <div> <img alt="" src="images/image2.jpg"> </div> </li> <li> <a href="#url" class="infoLink"><img alt="" src="images/image3.jpg" style="opacity: 0.8;"><span>TES: Skyrim</span> <p>11.11.11</p> </a> <div> <img alt="" src="images/image3.jpg"> </div> </li> </ul> </div> </body> </html> |
Спасибо большое, от меня + в репутацию!
Правда, Вы помогли мне с предыдущей темой с автоматической прокруткой слайдера, а здесь я создал новую тему по уже другому слайдеру на css3, тут картинка меняется, но проблема в создании ссылки с картинки или текстового блока div. |
Sergyk85,
напишите результат который хотите получить -- откуда адрес ссылки брать? |
Нужно чтобы по нажатию на каждую картинку и/или текстовый блок можно было перейти на другую страницу сайта, т.е. сделать картинку и текст в виде ссылки.
http://ruseller.com/lessons/les1475/demo/index.html |
Sergyk85,
все блоки находятся в стопке друг над другом, ссылку нельзя нажать так как она скрыта под невидимым блоком, решение : видимый блок поднять наверх, добавлен z-index в css. <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .slides { height:300px; margin:50px auto; overflow:hidden; position:relative; width:550px; } .slides ul { list-style:none; position:relative; } /* keyframes #anim_slides */ @-webkit-keyframes anim_slides { 0% { opacity:0; z-index: 0; } 6% { opacity:1; z-index: 100; } 24% { opacity:1; z-index: 100; } 30% { opacity:0; z-index: 0; } 100% { opacity:0; z-index: 0; } } @-moz-keyframes anim_slides { 0% { opacity:0; z-index: 0; } 6% { opacity:1; z-index: 100; } 24% { opacity:1; z-index: 100; } 30% { opacity:0; z-index: 0; } 100% { opacity:0; z-index: 0; } } .slides ul li { opacity:0; position:absolute; top:0; /* css3 animation */ -webkit-animation-name: anim_slides; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -o-animation-name: anim_slides; animation-name: anim_slides; -moz-animation-name: anim_slides; -o-animation-duration: 24.0s; animation-duration: 24.0s; -moz-animation-duration: 24.0s; -o-animation-timing-function: linear; animation-timing-function: linear; -moz-animation-timing-function: linear; -o-animation-iteration-count: infinite; animation-iteration-count: infinite; -moz-animation-iteration-count: infinite; -o-animation-direction: normal; animation-direction: normal; -moz-animation-direction: normal; -o-animation-delay: 0; animation-delay: 0; -moz-animation-delay: 0; -o-animation-play-state: running; animation-play-state: running; -moz-animation-play-state: running; -o-animation-fill-mode: forwards; animation-fill-mode: forwards; -moz-animation-fill-mode: forwards; } /* css3 delays */ .slides ul li:nth-child(2), .slides ul li:nth-child(2) div { -webkit-animation-delay: 6.0s; -o-animation-delay: 6.0s; animation-delay: 6.0s; -moz-animation-delay: 6.0s; } .slides ul li:nth-child(3), .slides ul li:nth-child(3) div { -webkit-animation-delay: 12.0s; -o-animation-delay: 12.0s; animation-delay: 12.0s; -moz-animation-delay: 12.0s; } .slides ul li:nth-child(4), .slides ul li:nth-child(4) div { -webkit-animation-delay: 18.0s; -o-animation-delay: 18.0s; animation-delay: 18.0s; -moz-animation-delay: 18.0s; } .slides ul li img { display:block; } /* keyframes #anim_titles */ @-webkit-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } @-moz-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } .slides ul li div { background-color:#000000; border-radius:10px 10px 10px 10px; box-shadow:0 0 5px #FFFFFF inset; color:#FFFFFF; font-size:26px; left:10%; margin:0 auto; padding:20px; position:absolute; top:50%; width:200px; /* css3 animation */ -webkit-animation-name: anim_titles; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -o-animation-name: anim_titles; animation-name: anim_titles; -moz-animation-name: anim_titles; -o-animation-duration: 24.0s; animation-duration: 24.0s; -moz-animation-duration: 24.0s; -o-animation-timing-function: linear; animation-timing-function: linear; -moz-animation-timing-function: linear; -o-animation-iteration-count: infinite; animation-iteration-count: infinite; -moz-animation-iteration-count: infinite; -o-animation-direction: normal; animation-direction: normal; -moz-animation-direction: normal; -o-animation-delay: 0; animation-delay: 0; -moz-animation-delay: 0; -o-animation-play-state: running; animation-play-state: running; -moz-animation-play-state: running; -o-animation-fill-mode: forwards; animation-fill-mode: forwards; -moz-animation-fill-mode: forwards; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { }); </script> </head> <body> <div class="slides"> <ul> <li><img alt="" src="http://www.luxurytravelagency.com/wp-content/uploads/2011/10/MontageBeverlyHills-550x300.jpg" title="Заголовок для изображения #1" /> <div><a href="http://javascript.ru/forum/">форум</a>Текст для слайдера #1</div> </li> <li><img alt="" src="http://www.fubiz.net/wp-content/uploads/2009/10/click1-550x300.jpg" title="Заголовок для изображения #2" /> <div><a href="http://javascript.ru/forum/">форум</a>Текст для слайдера #2</div> </li> <li><img alt="" src="http://www.gizmonews.ru/wp-content/uploads/2013/01/Southern-Ocean.jpg" title="Заголовок для изображения #3" /> <div><a href="http://javascript.ru/forum/">форум</a>Текст для слайдера #3</div> </li> <li><img alt="" src="http://serviceyard.net/wp-content/uploads/2016/03/watermarked-2F25A71D00000578-0-image-a-10_1449517874588-550x300.jpg" title="Заголовок для изображения #4" /> <div><a href="http://javascript.ru/forum/">форум</a>Текст для слайдера #4</div> </li> <!-- сюда добавляем по необходимости еще слайды --> </ul> </div> </body> </html> |
Понял, спасибо большое за помощь!
|
Часовой пояс GMT +3, время: 09:27. |