try this: $(function() { $('*').filter(function() { return this.id.match(/^s\d+$/); }) .each(function(n) { $(this).cycle({ timeout: 0, speed: 500, fx: 'fade', prev: '#s' + (n + 1) + '_prev', next: '#s' + (n + 1) + '_next', after: function(curr, next, opts) { $('#s' + (n + 1) + '_current').html((opts.currSlide + 1) + " of " + opts.slideCount + " images"); } }); }); });
I think that the problem of original code was the scope of the closer of before function doesn't contains slideShow variable. There was another problem with before callback. I think at very first time, i.e. when page is just loaded, in before callback function opts.nextSlide has wrong value. (try before and opts.nextSlide instead of after and opts.currSlide) On Sep 24, 6:54 am, Phillip <[EMAIL PROTECTED]> wrote: > Thanks for the reply. I gave it shot, but still no dice. The good news > is opts.slideCount is working. But opts.nextSlide doesn't seem to > update when you click ahead. Any ideas on what to try next?