1// Utility 2if ( typeof Object.create !== 'function' ) { 3 Object.create = function( obj ) { 4 function F() {}; 5 F.prototype = obj; 6 return new F(); 7 }; 8} 9 10(function( $, window, document, undefined ) { 11 12 var leFooter = { 13 init: function( options, elem ) { 14 var self = this; 15 16 self.elem = elem; 17 self.$elem = $( elem ); 18 self.cHeight = self.$elem.find('#leFooter-content').find('#leFooter-inner').height(); 19 self.cHeight += 40; 20 21 self.options = $.extend( {}, $.fn.jleFooter.options, options ); 22 23 self.display(); 24 self.open(); 25 self.resize(); 26 }, 27 display: function(){ 28 var self = this; 29 self.$elem.css({ 'bottom' : -self.cHeight + 'px', 'visibility' : 'visible' }); 30 }, 31 open: function(){ 32 var self = this; 33 $(document).on('click touchstart','.le-opener, .leFooter-overlay-opened',function(e){ 34 // self.$elem.find('.le-opener, .leFooter-overlay-opened').on('click',function(){ 35 if(self.$elem.hasClass('opened')){ 36 self.$elem.animate({'bottom': -self.cHeight + 'px'},self.options.animSpeed); 37 self.$elem.removeClass('opened'); 38 $('.leFooter-overlay').removeClass('leFooter-overlay-opened'); 39 }else{ 40 self.$elem.animate( 41 {'bottom':0}, 42 self.options.animSpeed, 43 self.options.easing 44 ); 45 self.$elem.addClass('opened'); 46 $('.leFooter-overlay').addClass('leFooter-overlay-opened'); 47 } 48 e.preventDefault(); 49 e.stopPropagation(); 50 }); 51 }, 52 resize: function(){ 53 var self = this; 54 window.addEventListener("resize", function() { 55 self.cHeight = self.$elem.find('#leFooter-content').find('#leFooter-inner').height(); 56 self.cHeight += 40; 57 58 self.$elem.animate({'bottom': -self.cHeight + 'px'},100); 59 self.$elem.removeClass('opened'); 60 $('.leFooter-overlay').removeClass('leFooter-overlay-opened'); 61 // console.log(self.cHeight); 62 }, false); 63 }, 64 }; 65 66 $.fn.jleFooter = function( options ) { 67 return this.each(function() { 68 var lefooter = Object.create( leFooter ); 69 70 lefooter.init( options, this ); 71 72 $.data( this, 'jleFooter', lefooter ); 73 }); 74 }; 75 76 $.fn.jleFooter.options = { 77 easing : "easeOutQuad", 78 animSpeed : 350 79 }; 80 81})( jQuery, window, document );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.