Здравствуйте. 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;
};
Есть предположение что из-за одинаковых тегов .
Если да то как можно сделать чтобы не добавлять каждый раз тег в код.