summaryrefslogtreecommitdiff
path: root/dep
diff options
context:
space:
mode:
Diffstat (limited to 'dep')
-rw-r--r--dep/impress.js24
1 files changed, 21 insertions, 3 deletions
diff --git a/dep/impress.js b/dep/impress.js
index 2529e26..8115af1 100644
--- a/dep/impress.js
+++ b/dep/impress.js
@@ -553,15 +553,33 @@
var prev = steps.indexOf( activeStep ) - 1;
prev = prev >= 0 ? steps[ prev ] : steps[ steps.length-1 ];
+ // when backing through a slide, clear its inner steps
+ $$('.innerStep.stepped', activeStep).forEach( function (elem) {
+ elem.classList.remove('stepped');
+ });
+
return goto(prev);
};
+ var inner = {
+ next: function () {
+ var innerNext = activeStep.querySelector('.innerStep:not(.stepped)');
+ innerNext.classList.add('stepped');
+ }
+ };
+
// `next` API function goes to next step (in document order)
var next = function () {
- var next = steps.indexOf( activeStep ) + 1;
- next = next < steps.length ? steps[ next ] : steps[ 0 ];
+ // if there are unshown inner steps, show next one instead of next slide
+ if(activeStep.querySelectorAll('.innerStep:not(.stepped)').length) {
+ inner.next();
+ triggerEvent(activeStep, "impress:innerstep");
+ } else {
+ var next = steps.indexOf( activeStep ) + 1;
+ next = next < steps.length ? steps[ next ] : steps[ 0 ];
- return goto(next);
+ return goto(next);
+ }
};
// Adding some useful classes to step elements.