app/assets/javascripts/materialize/materialbox.js in materialize-sass-0.95.3.2 vs app/assets/javascripts/materialize/materialbox.js in materialize-sass-0.95.3.3

- old
+ new

@@ -16,28 +16,31 @@ var outDuration = 200; var origin = $(this); var placeholder = $('<div></div>').addClass('material-placeholder'); var originalWidth = 0; var originalHeight = 0; - origin.wrap(placeholder); + + origin.on('click', function(){ - var placeholder = origin.parent('.material-placeholder'); var windowWidth = window.innerWidth; var windowHeight = window.innerHeight; var originalWidth = origin.width(); var originalHeight = origin.height(); + // If already modal, return to original if (doneAnimating === false) { + returnToOriginal(); return false; } else if (overlayActive && doneAnimating===true) { returnToOriginal(); return false; } + // Set states doneAnimating = false; origin.addClass('active'); overlayActive = true; @@ -48,11 +51,13 @@ width: placeholder[0].getBoundingClientRect().width, height: placeholder[0].getBoundingClientRect().height, position: 'relative', top: 0, left: 0 - }) + }); + + // Set css on origin origin.css({position: 'absolute', 'z-index': 1000}) .data('width', originalWidth) .data('height', originalHeight); @@ -171,16 +176,24 @@ var placeholder = origin.parent('.material-placeholder'); var windowWidth = window.innerWidth; var windowHeight = window.innerHeight; var originalWidth = origin.data('width'); var originalHeight = origin.data('height'); + + origin.velocity("stop", true); + $('#materialbox-overlay').velocity("stop", true); + $('.materialbox-caption').velocity("stop", true); - $('#materialbox-overlay').fadeOut(outDuration, function(){ - // Remove Overlay - overlayActive = false; - $(this).remove(); + $('#materialbox-overlay').velocity({opacity: 0}, { + duration: outDuration, // Delay prevents animation overlapping + queue: false, easing: 'easeOutQuad', + complete: function(){ + // Remove Overlay + overlayActive = false; + $(this).remove(); + } }); // Resize Image origin.velocity( { @@ -195,11 +208,11 @@ } ); // Remove Caption + reset css settings on image $('.materialbox-caption').velocity({opacity: 0}, { - duration: outDuration + 200, // Delay prevents animation overlapping + duration: outDuration, // Delay prevents animation overlapping queue: false, easing: 'easeOutQuad', complete: function(){ placeholder.css({ height: '', width: '', @@ -208,11 +221,10 @@ left: '' }); origin.css({ height: '', - position: '', top: '', left: '', width: '', 'max-width': '', position: '', @@ -232,6 +244,6 @@ $(document).ready(function(){ $('.materialboxed').materialbox(); }); -}( jQuery )); \ No newline at end of file +}( jQuery ));