Как сделать две и более карусели на одной странице ?
Здравствуйте. javascript знаю не очень.Поэтому и спрашиваю.
Прошу помочь. Как можно решить эту проблему. Вот пример http://learn.javascript.ru/play/SpWUD . или body { padding: 10px } .carousel { position: relative; width: 398px; padding: 10px 40px; border: 1px solid #CCC; border-radius: 15px; background: #eee; } .carousel img { width: 130px; height: 130px; display: block; /* если не поставить block, в ряде браузеров будет inline -> лишнее пространтсво вокруг элементов */ } .carousel .arrow { position: absolute; top: 57px; padding: 3px 8px 8px 9px; background: #ddd; border-radius: 15px; font-size: 24px; color: #444; text-decoration: none; } .carousel .arrow:hover { background: #ccc; } .carousel .left-arrow { left: 7px; } .carousel .right-arrow { right: 7px; } .gallery { width: 390px; overflow: hidden; } .gallery ul { height: 130px; width: 9999px; margin: 0; padding: 0; list-style: none; } .gallery ul li { float: left; } img { opacity:0.8; -moz-opacity:0.8; filter: alpha(opacity=80) black; -khtml-opacity: 0.8; } img:hover { opacity:1; -moz-opacity:1; filter: alpha(opacity=100) black; -khtml-opacity: 1; background-color:#000; } .13 {} #images:hover {opacity:1; -moz-opacity:1; filter: alpha(opacity=100) black; -khtml-opacity: 1; background-color:#fff;} <div class="carousel"> <a href="#" class="arrow left-arrow" id="prev">‹ </a> <div class="gallery"> <ul id="images"> <li><img class="13" src="1(1).png"></li> <li><img class="13" src="1(2).png"></li> <li><img class="13" src="1(3).png"></li> <li><img class="13" src="1(4).png"></li> <li><img class="13" src="1(5).png"></li> <li><img class="13" src="1(6).png"></li> <li><img class="13" src="1(7).png"></li> </ul> </div> <a href="#" class="arrow right-arrow" id="next">› </a> </div> <div class="carousel"> <a href="#" class="arrow left-arrow" id="prev">‹ </a> <div class="gallery"> <ul id="images"> <li><img class="13" src="1(1).png"></li> <li><img class="13" src="1(2).png"></li> <li><img class="13" src="1(3).png"></li> <li><img class="13" src="1(4).png"></li> <li><img class="13" src="1(5).png"></li> <li><img class="13" src="1(6).png"></li> <li><img class="13" src="1(7).png"></li> </ul> </div> <a href="#" class="arrow right-arrow" id="next">› </a> </div> /* этот код помечает картинки, для удобства разработки */ var lis = document.getElementsByTagName('li'); for(var i=0; i<lis.length; i++) { lis[i].style.position='relative'; var span = document.createElement('span'); // обычно лучше использовать CSS-классы, // но этот код - для удобства разработки, так что не будем трогать стили span.style.cssText='position:absolute;left:0;top:0'; span.innerHTML = i+1; lis[i].appendChild(span); } /* конфигурация */ var width = 130; // ширина изображения var count = 3; // количество изображений var ul = document.getElementById('images'); var imgs = ul.getElementsByTagName('li'); var position = 0; // текущий сдвиг влево document.getElementById('prev').onclick = function() { if (position >= 0) return false; // уже до упора // последнее передвижение влево может быть не на 3, а на 2 или 1 элемент position = Math.min(position + width*count, 0) ul.style.marginLeft = position + 'px'; return false; } document.getElementById('next').onclick = function() { if (position <= -width*(imgs.length-count)) return false; // уже до упора // последнее передвижение вправо может быть не на 3, а на 2 или 1 элемент position = Math.max(position-width*count, -width*(imgs.length-count)); ul.style.marginLeft = position + 'px'; return false; }; Есть предположение что из-за одинаковых тегов . Если да то как можно сделать чтобы не добавлять каждый раз тег в код. |
Часовой пояс GMT +3, время: 02:20. |