Skip to content

Commit c904cef

Browse files
committed
add option for disabling overview mode (closes hakimel#145)
1 parent 6779f4a commit c904cef

File tree

4 files changed

+108
-54
lines changed

4 files changed

+108
-54
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ Reveal.initialize({
7070
// Enable keyboard shortcuts for navigation
7171
keyboard: true,
7272

73+
// Enable the slide overview mode
74+
overview: true,
75+
7376
// Loop the presentation
7477
loop: false,
7578

index.html

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,5 +333,43 @@ <h3>BY Hakim El Hattab / hakim.se</h3>
333333

334334
</script>
335335

336+
<!-- Everything below this point is unrelated to the slideshow -->
337+
338+
<div class="share-reveal" style="position: absolute; bottom: 10px; left: 50%; margin-left: -160px">
339+
<a href="http://twitter.com/share" class="twitter-share-button" data-text="reveal.js - an HTML presentation framework from @hakimel." data-url="http://lab.hakim.se/reveal-js" data-count="small" data-related="hakimel"></a>
340+
341+
<iframe id="facebook-button" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fapp.hakim.se%2Freveal-js%2F&layout=button_count&show_faces=false&width=93&action=like&font=arial&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:85px; height:24px; position: relative; top: 4px;" allowTransparency="true"></iframe>
342+
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
343+
344+
<script type="text/javascript">
345+
/* <![CDATA[ */
346+
(function() {
347+
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
348+
s.type = 'text/javascript';
349+
s.async = true;
350+
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
351+
t.parentNode.insertBefore(s, t);
352+
})();
353+
/* ]]> */
354+
</script>
355+
356+
<a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://lab.hakim.se/reveal-js"></a>
357+
<noscript><a href="http://flattr.com/thing/447435/Reveal-js" target="_blank">
358+
<img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
359+
</div>
360+
361+
<a class="fork-reveal" href="https://github.com/hakimel/reveal.js"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://a248.e.akamai.net/camo.github.com/e6bef7a091f5f3138b8cd40bc3e114258dd68ddf/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub"></a>
362+
363+
<script>
364+
var _gaq = [['_setAccount', 'UA-15240703-1'], ['_trackPageview']];
365+
(function(d, t) {
366+
var g = d.createElement(t),
367+
s = d.getElementsByTagName(t)[0];
368+
g.async = true;
369+
g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
370+
s.parentNode.insertBefore(g, s);
371+
})(document, 'script');
372+
</script>
373+
336374
</body>
337375
</html>

js/reveal.js

Lines changed: 61 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ var Reveal = (function(){
2626
// Enable keyboard shortcuts for navigation
2727
keyboard: true,
2828

29+
// Enable the slide overview mode
30+
overview: true,
31+
2932
// Loop the presentation
3033
loop: false,
3134

@@ -531,73 +534,83 @@ var Reveal = (function(){
531534
* can't be improved.
532535
*/
533536
function activateOverview() {
537+
538+
if( config.overview ) {
534539

535-
dom.wrapper.classList.add( 'overview' );
540+
dom.wrapper.classList.add( 'overview' );
536541

537-
var horizontalSlides = Array.prototype.slice.call( document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) );
542+
var horizontalSlides = Array.prototype.slice.call( document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) );
538543

539-
for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) {
540-
var hslide = horizontalSlides[i],
541-
htransform = 'translateZ(-2500px) translate(' + ( ( i - indexh ) * 105 ) + '%, 0%)';
544+
for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) {
545+
var hslide = horizontalSlides[i],
546+
htransform = 'translateZ(-2500px) translate(' + ( ( i - indexh ) * 105 ) + '%, 0%)';
547+
548+
hslide.setAttribute( 'data-index-h', i );
549+
hslide.style.display = 'block';
550+
hslide.style.WebkitTransform = htransform;
551+
hslide.style.MozTransform = htransform;
552+
hslide.style.msTransform = htransform;
553+
hslide.style.OTransform = htransform;
554+
hslide.style.transform = htransform;
542555

543-
hslide.setAttribute( 'data-index-h', i );
544-
hslide.style.display = 'block';
545-
hslide.style.WebkitTransform = htransform;
546-
hslide.style.MozTransform = htransform;
547-
hslide.style.msTransform = htransform;
548-
hslide.style.OTransform = htransform;
549-
hslide.style.transform = htransform;
556+
if( !hslide.classList.contains( 'stack' ) ) {
557+
// Navigate to this slide on click
558+
hslide.addEventListener( 'click', onOverviewSlideClicked, true );
559+
}
550560

551-
if( !hslide.classList.contains( 'stack' ) ) {
552-
// Navigate to this slide on click
553-
hslide.addEventListener( 'click', onOverviewSlideClicked, true );
554-
}
555-
556-
var verticalSlides = Array.prototype.slice.call( hslide.querySelectorAll( 'section' ) );
557-
558-
for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) {
559-
var vslide = verticalSlides[j],
560-
vtransform = 'translate(0%, ' + ( ( j - ( i === indexh ? indexv : 0 ) ) * 105 ) + '%)';
561-
562-
vslide.setAttribute( 'data-index-h', i );
563-
vslide.setAttribute( 'data-index-v', j );
564-
vslide.style.display = 'block';
565-
vslide.style.WebkitTransform = vtransform;
566-
vslide.style.MozTransform = vtransform;
567-
vslide.style.msTransform = vtransform;
568-
vslide.style.OTransform = vtransform;
569-
vslide.style.transform = vtransform;
570-
571-
// Navigate to this slide on click
572-
vslide.addEventListener( 'click', onOverviewSlideClicked, true );
561+
var verticalSlides = Array.prototype.slice.call( hslide.querySelectorAll( 'section' ) );
562+
563+
for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) {
564+
var vslide = verticalSlides[j],
565+
vtransform = 'translate(0%, ' + ( ( j - ( i === indexh ? indexv : 0 ) ) * 105 ) + '%)';
566+
567+
vslide.setAttribute( 'data-index-h', i );
568+
vslide.setAttribute( 'data-index-v', j );
569+
vslide.style.display = 'block';
570+
vslide.style.WebkitTransform = vtransform;
571+
vslide.style.MozTransform = vtransform;
572+
vslide.style.msTransform = vtransform;
573+
vslide.style.OTransform = vtransform;
574+
vslide.style.transform = vtransform;
575+
576+
// Navigate to this slide on click
577+
vslide.addEventListener( 'click', onOverviewSlideClicked, true );
578+
}
579+
573580
}
574-
581+
575582
}
583+
576584
}
577585

578586
/**
579587
* Exits the slide overview and enters the currently
580588
* active slide.
581589
*/
582590
function deactivateOverview() {
583-
dom.wrapper.classList.remove( 'overview' );
591+
592+
if( config.overview ) {
584593

585-
var slides = Array.prototype.slice.call( document.querySelectorAll( '.reveal .slides section' ) );
594+
dom.wrapper.classList.remove( 'overview' );
586595

587-
for( var i = 0, len = slides.length; i < len; i++ ) {
588-
var element = slides[i];
596+
var slides = Array.prototype.slice.call( document.querySelectorAll( '.reveal .slides section' ) );
589597

590-
// Resets all transforms to use the external styles
591-
element.style.WebkitTransform = '';
592-
element.style.MozTransform = '';
593-
element.style.msTransform = '';
594-
element.style.OTransform = '';
595-
element.style.transform = '';
598+
for( var i = 0, len = slides.length; i < len; i++ ) {
599+
var element = slides[i];
596600

597-
element.removeEventListener( 'click', onOverviewSlideClicked );
598-
}
601+
// Resets all transforms to use the external styles
602+
element.style.WebkitTransform = '';
603+
element.style.MozTransform = '';
604+
element.style.msTransform = '';
605+
element.style.OTransform = '';
606+
element.style.transform = '';
599607

600-
slide();
608+
element.removeEventListener( 'click', onOverviewSlideClicked );
609+
}
610+
611+
slide();
612+
613+
}
601614
}
602615

603616
/**

js/reveal.min.js

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)