slight tweak to zoom integration

This commit is contained in:
hakimel 2012-10-09 09:22:16 -04:00
parent 7166e2d8cc
commit 16b71d7a21
2 changed files with 14 additions and 27 deletions

View File

@ -92,7 +92,7 @@
<section> <section>
<h2>Point of View</h2> <h2>Point of View</h2>
<p> <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> </p>
</section> </section>
@ -342,7 +342,7 @@ function linkify( selector ) {
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } }, { 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/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/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: '/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'; } } { src: 'plugin/speakernotes/client.js', async: true, condition: function() { return window.location.host === 'localhost:1947'; } }
] ]

View 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) * zoom.js 0.2 (modified version for use with reveal.js)
* http://lab.hakim.se/zoom-js * http://lab.hakim.se/zoom-js
@ -41,7 +51,7 @@ var zoom = (function(){
if( level !== 1 && event.keyCode === 27 ) { if( level !== 1 && event.keyCode === 27 ) {
zoom.out(); zoom.out();
} }
} ); }, false );
// Monitor mouse movement for panning // Monitor mouse movement for panning
document.addEventListener( 'mousemove', function( event ) { document.addEventListener( 'mousemove', function( event ) {
@ -49,7 +59,7 @@ var zoom = (function(){
mouseX = event.clientX; mouseX = event.clientX;
mouseY = event.clientY; mouseY = event.clientY;
} }
} ); }, false );
/** /**
* Applies the CSS required to zoom in, prioritizes use of CSS3 * 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 });
}
} );
})();