Если я вас правильно понял, вы хотите добавить первый слайд в конец слайд-шоу, чтобы у вас был постоянный поток, а не переход назад к началу.Предполагая, что это правильно, мы нашли важное ключевое слово: append .
Вы должны фактически сделать первый слайд и добавить его к последнему слайду.Делайте это на каждом шаге анимации.В итоге получается что-то вроде этого.
function slideChange() {
var $slider = $('.slideshow');
var $first = $slider.first();
$slider.append($first); // Append a copy of the first slide to the last one
$slider.animate({marginLeft: '-=1024'}, 1000, function() {
$first.remove(); // Remove the first slide we just copied. So we virtually swapped the slide from the first to the last place
$slider.css({marginLeft: '+=1024'}); // Reset the margin
});
}
Это решение не проверено, но должно сработать.Но я все еще вижу некоторые проблемы в вашем коде.
Вы хотите использовать эту функцию только для этого слайдера?Если ваш ответ «да», вы должны обязательно дать своему ползунку #id
, а не .class
селектор.И поскольку вы больше нигде не будете использовать свою функцию, нет необходимости в общедоступной функции.Вы можете сделать это анонимно, что экономит некоторые ресурсы.
setInterval(function() {
/* Your stuff goes here */
}, 5000);