diff options
author | nancylizi <li.zi30@zte.com.cn> | 2017-03-20 16:47:42 +0800 |
---|---|---|
committer | nancylizi <li.zi30@zte.com.cn> | 2017-03-20 16:47:42 +0800 |
commit | 93e29ad7d5c9ba017252cb7b25aca94657023dd7 (patch) | |
tree | 6ec8b43d492a442d559c2d71019df896cd33dd93 /common/src/main/webapp/thirdparty/jquery/jquery.reveal.js | |
parent | f92ae6ce2db3d94d1ea50b5e3de66a54107efa0e (diff) |
Resolve the dependent problem.
Issue-Id: CLIENT-171
Change-Id: Ifad1deec7b7c737b5b2e44950720189248c2666d
Signed-off-by: nancylizi <li.zi30@zte.com.cn>
Diffstat (limited to 'common/src/main/webapp/thirdparty/jquery/jquery.reveal.js')
-rw-r--r-- | common/src/main/webapp/thirdparty/jquery/jquery.reveal.js | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/common/src/main/webapp/thirdparty/jquery/jquery.reveal.js b/common/src/main/webapp/thirdparty/jquery/jquery.reveal.js new file mode 100644 index 00000000..4c9504cd --- /dev/null +++ b/common/src/main/webapp/thirdparty/jquery/jquery.reveal.js @@ -0,0 +1,152 @@ + +(function($) { + +/*--------------------------- + Defaults for Reveal +----------------------------*/ + +/*--------------------------- + Listener for data-reveal-id attributes +----------------------------*/ + + $('a[data-reveal-id]').live('click', function(e) { + e.preventDefault(); + var modalLocation = $(this).attr('data-reveal-id'); + $('#'+modalLocation).reveal($(this).data()); + }); + +/*--------------------------- + Extend and Execute +----------------------------*/ + + $.fn.reveal = function(options) { + + + var defaults = { + animation: 'fadeAndPop', //fade, fadeAndPop, none + animationspeed: 300, //how fast animtions are + closeonbackgroundclick: true, //if you click background will modal close? + dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal + }; + + //Extend dem' options + var options = $.extend({}, defaults, options); + + return this.each(function() { + +/*--------------------------- + Global Variables +----------------------------*/ + var modal = $(this), + topMeasure = parseInt(modal.css('top')), + topOffset = modal.height() + topMeasure, + locked = false, + modalBG = $('.reveal-modal-bg'); + +/*--------------------------- + Create Modal BG +----------------------------*/ + if(modalBG.length == 0) { + modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal); + } + +/*--------------------------- + Open & Close Animations +----------------------------*/ + //Entrance Animations + modal.bind('reveal:open', function () { + modalBG.unbind('click.modalEvent'); + $('.' + options.dismissmodalclass).unbind('click.modalEvent'); + if(!locked) { + lockModal(); + if(options.animation == "fadeAndPop") { + modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'}); + modalBG.fadeIn(options.animationspeed/2); + modal.delay(options.animationspeed/2).animate({ + "top": $(document).scrollTop()+topMeasure + 'px', + "opacity" : 1 + }, options.animationspeed,unlockModal()); + } + if(options.animation == "fade") { + modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure}); + modalBG.fadeIn(options.animationspeed/2); + modal.delay(options.animationspeed/2).animate({ + "opacity" : 1 + }, options.animationspeed,unlockModal()); + } + if(options.animation == "none") { + modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure}); + modalBG.css({"display":"block"}); + unlockModal() + } + } + modal.unbind('reveal:open'); + }); + + //Closing Animation + modal.bind('reveal:close', function () { + if(!locked) { + lockModal(); + if(options.animation == "fadeAndPop") { + modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); + modal.animate({ + "top": $(document).scrollTop()-topOffset + 'px', + "opacity" : 0 + }, options.animationspeed/2, function() { + modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'}); + unlockModal(); + }); + } + if(options.animation == "fade") { + modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); + modal.animate({ + "opacity" : 0 + }, options.animationspeed, function() { + modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure}); + unlockModal(); + }); + } + if(options.animation == "none") { + modal.css({'visibility' : 'hidden', 'top' : topMeasure}); + modalBG.css({'display' : 'none'}); + } + } + modal.unbind('reveal:close'); + }); + +/*--------------------------- + Open and add Closing Listeners +----------------------------*/ + //Open Modal Immediately + modal.trigger('reveal:open') + + //Close Modal Listeners + var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () { + modal.trigger('reveal:close') + }); + + if(options.closeonbackgroundclick) { + modalBG.css({"cursor":"pointer"}) + modalBG.bind('click.modalEvent', function () { + modal.trigger('reveal:close') + }); + } + $('body').keyup(function(e) { + if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key + }); + + +/*--------------------------- + Animations Locks +----------------------------*/ + function unlockModal() { + locked = false; + } + function lockModal() { + locked = true; + } + + });//each call + }//orbit plugin call +})(jQuery); + |