diff --git a/joyride-2.0.3.css b/joyride-2.0.3.css index 8b7f3f2..8d0ff84 100644 --- a/joyride-2.0.3.css +++ b/joyride-2.0.3.css @@ -255,3 +255,9 @@ body { top: 0px; left: 0px; } + +.joyride-counter { + color: #BBBBBB; + float: right; + font-size: 14px; +} diff --git a/jquery.joyride-2.0.3.js b/jquery.joyride-2.0.3.js index 6f3d683..a74682e 100755 --- a/jquery.joyride-2.0.3.js +++ b/jquery.joyride-2.0.3.js @@ -36,6 +36,8 @@ 'postRideCallback' : $.noop, // A method to call once the tour closes (canceled or complete) 'preStepCallback' : $.noop, // A method to call before each step 'postStepCallback' : $.noop, // A method to call after each step + 'postCancelCallback' : $.noop, // A method to call after joyride is cancelled + 'showStepCounter' : true, // To show step counter like 1 of 5 on each step 'template' : { // HTML segments for tip layout 'link' : 'X', 'timer' : '
', @@ -44,7 +46,8 @@ 'button' : '', 'modal' : '
', 'expose' : '
', - 'exposeCover': '
' + 'exposeCover': '
', + 'step_counter' : '
' } }, @@ -126,6 +129,7 @@ settings.$document.on('click.joyride', '.joyride-close-tip', function (e) { e.preventDefault(); methods.end(); + settings.postCancelCallback(settings.$li.index(), settings.$current_tip); }); settings.$window.bind('resize.joyride', function (e) { @@ -170,7 +174,17 @@ methods.hide(); methods.show(); } - }, + }, + + steps_html : function (opts) { + var step_counter; + if (settings.showStepCounter) { + step_counter = $(settings.template.step_counter); + step_counter.append((opts.index+1) + ' of '+ $($(opts.li).parent()).children('li').size()) ; + return methods.outerHTML(step_counter[0]); + } + return ''; + }, tip_template : function (opts) { var $blank, content, $wrapper; @@ -180,6 +194,7 @@ $blank = $(settings.template.tip).addClass(opts.tip_class); content = $.trim($(opts.li).html()) + methods.button_text(opts.button_text) + + methods.steps_html(opts) + settings.template.link + methods.timer_instance(opts.index);