فهرست منبع

slight tweak to zoom integration

hakimel 11 سال پیش
والد
کامیت
16b71d7a21
2فایلهای تغییر یافته به همراه14 افزوده شده و 27 حذف شده
  1. 2 2
      index.html
  2. 12 25
      plugin/zoom-js/zoom.js

+ 2 - 2
index.html

@@ -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'; } }
 				]

+ 12 - 25
lib/js/zoom.js → plugin/zoom-js/zoom.js

@@ -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 });
-		}
-	} );
-})();
-