Здравствуйте, упёрся в проблемку, придумал слайдер такого вида. Сейчас он работает нормально и слайдится также автоматически с лева, направо, хочу прикрутить к нему авто слайдинг чтоб был по кругу, сейчас на последней точке авто слайдинг останавливается и переходит управление на кнопки. Знаю что обратно на 0 нужно вернуть, но ничего умного не придумывается..
function initHorizontalSlider () {
autoSlide(true);
pos = false;
sllen = 3;
count_el = $("ol#slides li").size();
width_el = "80";
border_el = "2";
margin_el = "10";
liwidth = parseFloat(width_el) + parseFloat(border_el) + parseFloat(margin_el);
$("#slide-left").click(function() {
Move('left');
return false;
});
$("#slide-right").click(function() {
Move('right');
return false;
});
autoSlide();
}
function autoSlide(act) {
if (act == true) {
$("#slides").everyTime(2000, 'timer1', function(i) {
Move('right');
} );
$("ol#slides li.slide,#slide-left,#slide-right").click(function() {
$("#example_1").stopTime('timer1') ;
});
}
}
function Move(direction) {
currentSize=parseFloat($("#slides").css('left'));
$("#slide-left,#slide-right").css("display","block");
if (count_el == sllen) {$("#slide-right").hide();}
if ($("#slides").queue().length == 0) {
if (direction == "left") {
var newsize=currentSize + liwidth;
pos=pos-1;
Animate(newsize,2000);
if (pos == 0) {$("#slide-left").hide(); } else {$("#slide-left").show();}
}
if (direction == "right") {
var newsize=currentSize - liwidth;
pos=pos+1;
Animate(newsize,2000);
if (pos == (count_el - sllen) ) {$("#slide-right").hide(); $("#slides").stopTime('timer1'); } else {$("#slide-right").show();}
}
} // end if
} //move end
function Animate(newsize,dur) {
$("#slides").animate({
left: newsize + "px"
},dur,function() {
});
}