PageSourceSearch

https://sv-neft.ru/wp-content/themes/sv-neft/js/ps-block-scrolling.js

js sv-neft.ru collected 2026-10-07 18:02:29 UTC 3,631 bytes, 107 lines download raw bytes

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.