modalEffects.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * modalEffects.js v1.0.0
  3. * http://www.codrops.com
  4. *
  5. * Licensed under the MIT license.
  6. * http://www.opensource.org/licenses/mit-license.php
  7. *
  8. * Copyright 2013, Codrops
  9. * http://www.codrops.com
  10. */
  11. $(function(){
  12. var ModalEffects = (function() {
  13. function init() {
  14. var overlay = document.querySelector( '.md-overlay' );
  15. [].slice.call( document.querySelectorAll( '.md-trigger' ) ).forEach( function( el, i ) {
  16. var modal = document.querySelector( '#' + el.getAttribute( 'data-modal' ) ),
  17. // qds = modal.querySelectorAll( '.md-qd' );
  18. qds = modal.querySelector( '.md-qd' );
  19. function removeModal( hasPerspective ) {
  20. classie.remove( modal, 'md-show' );
  21. if( hasPerspective ) {
  22. classie.remove( document.documentElement, 'md-perspective' );
  23. }
  24. }
  25. function removeModalHandler() {
  26. removeModal( classie.has( el, 'md-setperspective' ) );
  27. }
  28. el.addEventListener( 'tap', function( ev ) {
  29. classie.add( modal, 'md-show' );
  30. overlay.removeEventListener( 'click', removeModalHandler );
  31. overlay.addEventListener( 'click', removeModalHandler );
  32. if( classie.has( el, 'md-setperspective' ) ) {
  33. setTimeout( function() {
  34. classie.add( document.documentElement, 'md-perspective' );
  35. }, 25 );
  36. }
  37. });
  38. qds.addEventListener( 'click', function( ev ) {
  39. ev.stopPropagation();
  40. removeModalHandler();
  41. });
  42. // for(var i=0;i<qds.length;i++){
  43. // qds[i].addEventListener( 'click', function( ev ) {
  44. // ev.stopPropagation();
  45. // removeModalHandler();
  46. // });
  47. // }
  48. } );
  49. }
  50. init();
  51. })();
  52. })