slight tweak to zoom integration
authorhakimel <hakim.elhattab@gmail.com>
Tue, 9 Oct 2012 13:22:16 +0000 (09:22 -0400)
committerhakimel <hakim.elhattab@gmail.com>
Tue, 9 Oct 2012 13:22:16 +0000 (09:22 -0400)
index.html
plugin/zoom-js/zoom.js [moved from lib/js/zoom.js with 95% similarity]

index 56060255a86b1b7327549c70f97917ed4f0a049a..34ada2cf7a85e8897465217a7b7188ac22fe5f6a 100644 (file)
@@ -92,7 +92,7 @@
                                <section>
                                        <h2>Point of View</h2>
                                        <p>
-                                               Press <strong>ESC</strong> to enter the slide overview. Hold down alt and click on any element to zoom in on it using <a href="http://lab.hakim.se/zoom-js">zoom.js</a>.
+                                               Press <strong>ESC</strong> to enter the slide overview. Hold down alt and click on any element to zoom in on it using <a href="http://lab.hakim.se/zoom-js">zoom.js</a>. Alt + click anywhere to zoom back out.
                                        </p>
                                </section>
 
@@ -342,7 +342,7 @@ function linkify( selector ) {
                                        { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
                                        { src: 'lib/js/showdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
                                        { src: 'lib/js/data-markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
-                                       { src: 'lib/js/zoom.js', condition: function() { return !!document.body.classList; } },
+                                       { src: 'plugin/zoom-js/zoom.js', condition: function() { return !!document.body.classList; } },
                                        { src: '/socket.io/socket.io.js', async: true, condition: function() { return window.location.host === 'localhost:1947'; } },
                                        { src: 'plugin/speakernotes/client.js', async: true, condition: function() { return window.location.host === 'localhost:1947'; } }
                                ]
similarity index 95%
rename from lib/js/zoom.js
rename to plugin/zoom-js/zoom.js
index 7fba5239adeb600dbece0cb742ad4f09074976d5..0ca387509aa40b7c12c855bce51a6aefd567639c 100644 (file)
@@ -1,3 +1,13 @@
+// Custom reveal.js integration
+(function(){
+       document.querySelector( '.reveal' ).addEventListener( 'click', function( event ) {
+               if( event.altKey ) {
+                       event.preventDefault();
+                       zoom.to({ element: event.target, pan: false });
+               }
+       } );
+})();
+
 /*!
  * zoom.js 0.2 (modified version for use with reveal.js)
  * http://lab.hakim.se/zoom-js
@@ -41,7 +51,7 @@ var zoom = (function(){
                if( level !== 1 && event.keyCode === 27 ) {
                        zoom.out();
                }
-       } );
+       }, false );
 
        // Monitor mouse movement for panning
        document.addEventListener( 'mousemove', function( event ) {
@@ -49,7 +59,7 @@ var zoom = (function(){
                        mouseX = event.clientX;
                        mouseY = event.clientY;
                }
-       } );
+       }, false );
 
        /**
         * Applies the CSS required to zoom in, prioritizes use of CSS3 
@@ -232,26 +242,3 @@ var zoom = (function(){
        
 })();
 
-
-
-
-// Custom reveal.js integration
-(function(){
-       var modifierIsActive = false;
-
-       function updateKeyFlag( event ) {
-               modifierIsActive = event.altKey;
-       }
-
-       document.addEventListener( 'keypress', updateKeyFlag, false );
-       document.addEventListener( 'keydown', updateKeyFlag, false );
-       document.addEventListener( 'keyup', updateKeyFlag, false );
-
-       document.querySelector( '.reveal' ).addEventListener( 'click', function( event ) {
-               if( modifierIsActive ) {
-                       event.preventDefault();
-                       zoom.to({ element: event.target, pan: false });
-               }
-       } );
-})();
-