1 2(function( jQuery ) { 3 4 // ÐÑовеÑÑем завиÑимоÑÑи 5 if( ! ps.exists( [ jQuery.fn, 'mousewheel' ], 'Ðлагин PS Block Scrolling не Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ð¿Ñи оÑÑÑÑÑвии jQuery Mouse Wheel Plugin (https://github.com/jquery/jquery-mousewheel)' ) ) return; 6 7 jQuery.fn.ps_block_scrolling = function( method ) { 8 9 var data = {}; 10 data.fn = {}; 11 12 data.wrapper = {}; 13 data.wrapper.target = this; 14 data.wrapper.height = data.wrapper.target.height(); 15 16 data.object = {}; 17 data.object.target = this.children(); 18 data.object.height = data.object.target.height(); 19 20 data.scroll = {}; 21 data.scroll.position = 0; 22 data.scroll.touch_start = 0; 23 data.scroll.touch_end = 0; 24 data.scroll.end = ( data.object.height - data.wrapper.height ) * -1; 25 26 data.fix = {}; 27 28 data.fix.magic = false; 29 data.fix.fn = {}; 30 31 data.settings = { 32 offset_top : 0, 33 }; 34 35 data.fn.init = function ( options ) { 36 data.object.target.css( "position", "relative" ); 37 38 if( typeof options === "object") { 39 jQuery.extend( data.settings, options ); 40 } 41 42 data.wrapper.target.on( "mousewheel.ps_saywee touchstart.ps_saywee touchmove.ps_saywee touchend.ps_saywee", function ( event ) { 43 data.fn.resize(); 44 45 if ( "ontouchstart" in window && typeof event.originalEvent.changedTouches != "undefined" ) { 46 event.fix = event.originalEvent.changedTouches[0]; 47 48 if( event.type == "touchstart" ) { 49 data.scroll.touch_start = event.fix.pageY; 50 data.scroll.touch_end = event.fix.pageY; 51 data.scroll.position = parseInt( data.object.target.css( "top" ), 10 ) || 0; 52 53 } else { 54 data.scroll.touch_end = event.fix.pageY; 55 data.scroll.position += ( data.scroll.touch_end - data.scroll.touch_start ) * 0.6; 56 } 57 58 if( event.type == "touchmove" ) event.preventDefault(); 59 } else { 60 event.preventDefault(); 61 if( ( Math.abs( event.deltaY ) > 1 && Math.abs( event.deltaFactor ) == 1 ) && ! data.fix.magic ) data.fix.magic = true; 62 data.scroll.position += event.deltaY * event.deltaFactor; 63 } 64 65 if( data.scroll.position <= data.scroll.end ) data.scroll.position = data.scroll.end; 66 if( data.scroll.position >= 0 ) data.scroll.position = 0; 67 68 data.fn.replace( data.scroll.position ); 69 }); 70 } 71 72 data.fn.replace = function ( position ) { 73 if( typeof position != "undefined" ) { 74 if( ! data.fix.magic ) data.object.target.stop().animate( { 'top' : position }, 230 ); 75 else data.object.target.stop().css( 'top', position ); 76 } 77 } 78 79 data.fn.die = function ( ) { 80 data.object.target.css( "position", false ); 81 data.wrapper.target.off( ".ps_saywee" ); 82 } 83 84 data.fn.resize = function ( ) { 85 data.wrapper.height = data.wrapper.target.height(); 86 data.object.height = data.object.target.height(); 87 88 data.scroll.end = ( data.object.height - data.wrapper.height + data.settings.offset_top ) * -1; 89 90 if( data.scroll.end >= 0 ) { 91 data.scroll.end = 0; 92 data.fn.replace( data.scroll.end ); 93 } 94 } 95 96 if ( data.fn[method] ) return data.fn[method].apply( this, Array.prototype.slice.call( arguments, 1 )); 97 else if ( typeof method === 'object' || ! method ) return data.fn.init.apply( this, arguments ); 98 else jQuery.error( 'The method named ' + method + ' does not exist for jQuery.ps_block_scrolling' ); 99 }; 100 101})(jQuery); 102 103var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform); 104 105if (iOS) { 106 document.querySelector('.quotes.mobile').style.padding = "10px 10px 80px 10px" 107}
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.