В итоге я модифицировал bxCarousel для аналогичной цели. Вот мои шаги:
1.) Добавьте другое свойство (animation_cb или callback) к объекту по умолчанию. Это свойство должно использоваться для передачи функции обратного вызова, которая должна выполняться в конце каждого цикла анимации:
var defaults = {
...
controls: true,
animation_cb: null
};
2.) Добавьте проверку для опции для функций slide_next и slide_prev:
function slide_next(){
...
get_a();
if (typeof options.animation_cb === "function") options.animation_cb();
is_working = false;
...
}
И
function slide_prev(){
...
get_p()
if (typeof options.animation_cb === "function") options.animation_cb();
is_working = false;
...
}
3.) Наконец, при вызове инициализации вашего плагина передайте функцию обратного вызова для выполнения. Например:
function doBar () {
// whatever you need to happen after the slides have moved
// like rebinding events, or what have you
}
$('ul.foo').bxCarousel({
...
animation_cb: doBar
});