не корректно работает слайд-шоу
Здравствуйте, нужно сделать слайдшоу, где картинки выезжают по клику слева, останавливаются в центре, по клику справа уезжают в право.
Вот код, но работает не верно, помогите пожалуйсто найти ошибку. var sShowBlock = document.getElementById("ssh"), // блок содержащий картинки // координаты картинок из аттрибута "img-coordinates" x = sShowBlock.getAttribute("img-coordinates").split(" ")[0], y = sShowBlock.getAttribute("img-coordinates").split(" ")[1], // количество картинок из аттрибута "count" amount = parseInt(sShowBlock.getAttribute("count")) || 1, // фрагмент имени картинки без номера из аттрибута "begin-name" imgName = sShowBlock.getAttribute("begin-name") || "", countImg = 1; // счетчик (текущий номер картинки) document.getElementById("next").addEventListener(" click", slt, false); document.getElementById("prev").addEventListener(" click", slt, false); addImg(); function addImg(n, btn) { // создает (добавляет) картинку в слайд-шоу btn = btn || "front"; n = n || 1; var img = document.createElement("img"); img.style.cssText = " display:block; position:absolute; top:" + y + "px; left:" + x + "px"; img.src = "img/" + imgName + n + ".jpg"; if (btn === "front") // добавить на передний план sShowBlock.appendChild(img) else if (btn === "back" && sShowBlock.firstElementChild) // добавить на задний план sShowBlock.insertBefore(img, sShowBlock.firstElementChild); return img; } function slt(ev) { // смена слайдов var targetClick = ev.currentTarget; // защита от "девиантных" кликов на время смены слайда targetClick.removeEventListener("click", slt, false); switch (targetClick.id) { case "next": if (countImg === amount) // цикличность смены слайдов countImg = 0; addImg(++countImg, "back"); break; case "prev": if (countImg === 1) // цикличность смены слайдов countImg = amount + 1; addImg(--countImg, "back"); break; } // картинка переднего плана TweenLite.to(sShowBlock.lastElementChild, 0.5, { css : { opacity : 0 }, onComplete : function () { // удаление (уже невидимой) картинки переднего плана sShowBlock.removeChild(sShowBlock.lastElementChild ); // прослушивание события вернуть клика в "исходное состояние" targetClick.addEventListener("click", slt, false); } }); } |
Часовой пояс GMT +3, время: 04:00. |