Насколько я знаю, на самом деле нет способа сделать это красиво.Плагин jQuery Cycle инициализируется при вызове со всеми элементами, через которые он будет переключаться.Есть и другие последствия, например, если вы используете пейджер, что происходит с первым после удаления?Я думаю, что вам лучше всего использовать стандартный анимационный эффект jQuery и при его обратном вызове инициировать слайд-шоу.
Итак, вот эти два решения.Во-первых, цикл jQuery, который вызывает сам себя, при обратном вызове разрушает себя и затем перезапускается.
http://jsfiddle.net/RQapW/2/
$('div').cycle({
timeout: 500,
after: myFunction
});
function myFunction(currSlideElement, nextSlideElement, options, forwardFlag) {
console.log(currSlideElement.src + ' : ' + nextSlideElement.src);
//if we are on the second slide then remove the first one and restart slideshow
if (currSlideElement == $('img')[0] && nextSlideElement == $('img')[1]) {
$('div').cycle('destroy');
$(currSlideElement).remove();
$('div').cycle({
timeout: 500,
});
}
}
Просто используйте типичный анимационный эффект jQuery.
http://jsfiddle.net/RQapW/
$('img.first').load( function() {
$(this).fadeOut(5000, function() {
$(this).remove();
$('body').cycle({timeout: 500});
})
});