/* * Create a shortcut on a number key to jump to a named slide. * * Using the hotkey on the target slide will go "back" to the slide that was active before jumping * to the target slide. * * Example: Jump to the slide named "myslide" when the "1" key is pressed. * createHotkey(1, 'myslide'); */ function createHotkey(key, slideName) { var targetSlide = slideshow.getSlideByName(slideName); var lastSlide = -1; document.addEventListener('keydown', function(e) { if (e.which === key + 48) { var currentNum = slideshow.getCurrentSlideIndex() + 1; var targetNum = targetSlide.getSlideIndex() + 1; if (currentNum !== targetNum) { lastSlide = currentNum; slideshow.gotoSlide(targetNum); } else { slideshow.gotoSlide(lastSlide); } } }); }; /* * Set a hotkey "u" to navigate backwards in time. * * If you get on the wrong slide, this might be the easiest way to get back on track. This is what * you might expect the browser's "Back" button to do if it worked. */ (function() { var history = []; var skip = false; slideshow.on('hideSlide', function(slide) { if (skip) { skip = false; return; } history.push(slide.getSlideIndex() + 1); }); document.addEventListener('keydown', function(e) { if (e.which === 85 /* [u]ndo */) { var lastNum = history.pop(); if (lastNum) { skip = true; slideshow.gotoSlide(lastNum); } } }); })();