This demo shows how you can listen to Cycle events in order to synchronize other interface updates, in this case, a progressbar.
Below is the script which controls the progressbar.
<script>
var progress = $('#progress'),
slideshow = $( '.cycle-slideshow' );
slideshow.on( 'cycle-initialized cycle-before', function( e, opts ) {
progress.stop(true).css( 'width', 0 );
});
slideshow.on( 'cycle-initialized cycle-after', function( e, opts ) {
if ( ! slideshow.is('.cycle-paused') )
progress.animate({ width: '100%' }, opts.timeout, 'linear' );
});
slideshow.on( 'cycle-paused', function( e, opts ) {
progress.stop();
});
slideshow.on( 'cycle-resumed', function( e, opts, timeoutRemaining ) {
progress.animate({ width: '100%' }, timeoutRemaining, 'linear' );
});
</script>