PageSourceSearch

https://cdn.husq.ru/static/ac167/landing-banners.js

js husq.ru collected 2026-09-29 22:46:27 UTC 5,535 bytes, 196 lines download raw bytes

1(function($) {
2
3    var $body;
4    var $window;
5    var windowPos = 0;
6    var articles = 'article';
7    var $articles;
8    var ticking = false;
9    var requestId;
10
11
12    function scrollToCurrent() {
13
14        if (!ticking) {
15            setTimeout(function() {
16                console.log('scrollToCurrent');
17                $('html, body').stop().animate({
18                    scrollTop: $("article.active").offset().top
19                }, 500);
20                ticking = false;
21            }, 2500);
22        }
23
24        ticking = true;
25
26    }
27
28
29
30    function initialiseParallax() {
31
32        var windowW = window.innerWidth || $(window).width();
33		var windowH = window.innerHeight || $(window).height();
34        if (windowW > 479 && windowW > windowH) {
35
36
37            var $articles = $('article', '#landingBanners');
38
39            $articles.each(function(index) {
40                $(this).css({
41                    'height': $(window).height()
42                })
43            });
44
45
46            function drawbanners(article) {
47
48                var articleOffset = $(article).offset();
49                var scrollDifference = windowPos - articleOffset.top;
50
51                var $entryContent = $(article).children('.entry-content');
52
53                var $banner1 = $('.banner.banner--1', article);
54                var $banner2 = $('.banner.banner--2', article);
55                var $banner3 = $('.banner.banner--3', article);
56                var $banner4 = $('.banner.banner--4', article);
57                var $banner5 = $('.banner.banner--5', article);
58                var $banner6 = $('.banner.banner--6', article);
59                var $banner7 = $('.banner.banner--7', article);
60                var $banner8 = $('.banner.banner--8', article);
61
62
63                var bannerOffset1 = (scrollDifference * 1.8) * -1;
64                var bannerOffset2 = (scrollDifference * 2) * 1;
65                var bannerOffset3 = (scrollDifference * 1.1) * -1;
66                var bannerOffset4 = (scrollDifference * 2) * 1;
67                var bannerOffset5 = (scrollDifference * 1.2) * -1;
68                var bannerOffset6 = (scrollDifference * 1.6) * -1;
69                var bannerOffset7 = (scrollDifference * 1.2) * -1;
70                var bannerOffset8 = (scrollDifference * 2) * 1;
71				
72				
73                $banner1.css({
74                    transform: 'translate3d(0px, ' + bannerOffset1 + 'px, 11px)'
75                });
76                $banner2.css({
77                    transform: 'translate3d(0px, ' + bannerOffset2 + 'px, 12px)'
78                });
79                $banner3.css({
80                    transform: 'translate3d(0px, ' + bannerOffset3 + 'px, 13px)'
81                });
82                $banner4.css({
83                    transform: 'translate3d(0px, ' + bannerOffset4 + 'px, 14px)'
84                });
85                $banner5.css({
86                    transform: 'translate3d(0px, ' + bannerOffset5 + 'px, 15px)'
87                });
88                $banner6.css({
89                    transform: 'translate3d(0px, ' + bannerOffset6 + 'px, 16px)'
90                });
91                $banner7.css({
92                    transform: 'translate3d(0px, ' + bannerOffset7 + 'px, 17px)'
93                });
94                $banner8.css({
95                    transform: 'translate3d(0px, ' + bannerOffset8 + 'px, 18px)'
96                });
97
98                requestId = requestAnimationFrame(function() {
99                    drawbanners(article);
100                });
101
102            }
103			
104			if ($('html').hasClass('no-touch')){
105
106				$articles.each(function() {
107					drawbanners(this);
108				});
109			
110			}
111			
112        } else {
113
114            var $articles = $('article', '#landingBanners');
115
116            $articles.each(function(index) {
117                $(this).css({
118                    'height': ''
119                })
120            });
121
122            var $banner = $('#landingBanners .banner');
123			
124            $banner.css({
125                transform: 'none'
126            });
127            cancelAnimationFrame(requestId);
128        }
129    }
130
131
132    function scroll() {
133        windowPos = $(window).scrollTop();
134    }
135
136    $(document).ready(function() {
137        $body = $(document.body);
138        $window = $(window);
139        $articles = $(articles);
140
141        $window.on('scroll touchmove', scroll);
142
143
144            initialiseParallax();
145
146
147        $(window).resize(function() {
148                initialiseParallax();
149
150        })
151
152    });
153	
154	var windowW = window.innerWidth || $(window).width();
155
156    if (windowW > 479) {
157		
158		$('.article-nav ul li a').click(function(e) {
159			e.preventDefault();
160			var targ = $(this).attr('href');
161			var posTop = $(targ).offset().top;
162			if (targ=="#Slide1") {
163				var posTop = 0;
164			}
165			$('html,body').animate({
166				'scrollTop': posTop
167			}, 1000);
168		});
169
170		var waypoints = $('article').waypoint(function(direction) {
171			if (direction === 'down') {
172				var panel;
173				panel = this.element.id;
174				$('article').removeClass('active');
175				$('#'+ panel).addClass('active');
176				$('.article-nav ul li.active').removeClass('active');
177				$(".article-nav ul li[data-target ='"+panel+"']").addClass('active');
178			}
179		}, {
180			offset: 100
181		})
182		var waypoints = $('article').waypoint(function(direction) {
183			if (direction === 'up') {
184				var panel;
185				panel = this.element.id;
186				$('article').removeClass('active');
187				$('#'+ panel).addClass('active');
188				$('.article-nav ul li.active').removeClass('active');
189				$(".article-nav ul li[data-target ='"+panel+"']").addClass('active');
190			}
191		}, {
192			offset: -100
193		})
194	}
195
196})(jQuery);

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.