1/*form contact type*/ 2$('.contactTypeBox .type').click(function(){ 3 $(this).closest('.contactTypeBox').find('.type').removeClass('active'); 4 $(this).closest('.formBox').find('.clientTime').val('СвÑзаÑÑÑÑ Ð¿Ð¾ ' + $(this).find('.typeText').text()); 5 $(this).addClass('active'); 6}); 7 8/*fixHeader*/ 9$(document).ready(function(){ 10 var fixHeader = $('.header2025Box'); 11 $(window).scroll(function() { 12 let scrollPos = $(window).scrollTop(); 13 let windowHeight = $(window).height(); 14 if(scrollPos>windowHeight && !$(fixHeader).hasClass('fixed')){ 15 if($(fixHeader).hasClass('nofixed')){ 16 $(fixHeader).removeClass('nofixed'); 17 } 18 $(fixHeader).addClass('fixed'); 19 }else if(scrollPos<=windowHeight && $(fixHeader).hasClass('fixed')){ 20 if($(fixHeader).hasClass('fixed')){ 21 $(fixHeader).removeClass('fixed'); 22 $(fixHeader).addClass('nofixed'); 23 setTimeout(function(){$(fixHeader).removeClass('nofixed');},300); 24 } 25 }else if(scrollPos<=$(fixHeader).outerHeight() && $(fixHeader).hasClass('nofixed')){ 26 $(fixHeader).removeClass('nofixed'); 27 } 28 }); 29}); 30 31 32/*piece_key*/ 33$('.piece_key .close').click(function(){ 34 $(this).parent().toggleClass('closed'); 35}); 36 37 38/*блок гоÑизонÑалÑнÑй ÑÐ»Ð°Ð¹Ð´ÐµÑ runningLineSlider*/ 39if ($('div').is('.horizontalCustomSlider')) { 40 SetUphorizontalSlider(); 41} 42 43function SetUphorizontalSlider() { 44 var oldDirection = ''; 45 var startPosition = 0; 46 var newPosition = 0; 47 let sliderContainer = $('.horizontalCustomSlider .sliderContainer'); 48 let autoplayIntervals = {}; // Ð¥Ñанение инÑеÑвалов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлайдеÑа 49 50 for (let i = 0; i < sliderContainer.length; i++) { 51 let horizontalSliderContainerItem = $(sliderContainer[i]); 52 horizontalSliderContainerItem.attr('data-id', i); 53 let child = horizontalSliderContainerItem.children(':not(.copy)'); 54 $(child[0]).addClass('active'); 55 56 // ÐÑовеÑка, помеÑаеÑÑÑ Ð»Ð¸ веÑÑ ÐºÐ¾Ð½ÑÐµÐ½Ñ Ð² ÑодиÑелÑÑкий конÑÐµÐ¹Ð½ÐµÑ 57 let isContentFits = isHorizontalSliderCompletelyInParent(horizontalSliderContainerItem); 58 59 // ÐÑли конÑÐµÐ½Ñ Ð½Ðµ помеÑаеÑÑÑ, Ñоздаем ÐºÐ¾Ð¿Ð¸Ñ Ð¸ вклÑÑаем авÑовоÑпÑоизведение 60 if (!isContentFits && horizontalSliderContainerItem.attr('data-infinite') != undefined && horizontalSliderContainerItem.attr('data-infinite') == 1) { 61 let copyItem = horizontalSliderContainerItem.find('.copy'); 62 let copyHtml = ''; 63 for (let i = 0; i < child.length; i++) { 64 let copyItem = child[i]; 65 copyHtml += copyItem.outerHTML; 66 } 67 horizontalSliderContainerItem.children('.copy').html(copyHtml); 68 let copies = horizontalSliderContainerItem.children('.copy').children(); 69 copies.removeAttr('data-fancybox'); 70 } 71 if (isContentFits) { 72 sethorizontalSliderBtns(horizontalSliderContainerItem, 0, 0); 73 } else { 74 sethorizontalSliderBtns(horizontalSliderContainerItem, 0, 1); 75 } 76 77 // ÐниÑиализаÑÐ¸Ñ Ð°Ð²ÑовоÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑолÑко еÑли конÑÐµÐ½Ñ Ð½Ðµ помеÑаеÑÑÑ 78 if (!isContentFits && horizontalSliderContainerItem.attr('data-autoplay') == 1 && horizontalSliderContainerItem.attr('data-infinite') == 1) { 79 let speed = parseInt(horizontalSliderContainerItem.attr('data-speed')) || 20; // СкоÑоÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ (в мÑ) 80 81 // Создаем Intersection Observer Ð´Ð»Ñ ÑлайдеÑа 82 let observer = new IntersectionObserver( 83 (entries) => { 84 entries.forEach((entry) => { 85 if (entry.isIntersecting) { 86 // Ð¡Ð»Ð°Ð¹Ð´ÐµÑ Ð² зоне видимоÑÑи, запÑÑкаем авÑовоÑпÑоизведение 87 startAutoplay(horizontalSliderContainerItem, speed); 88 } else { 89 // Ð¡Ð»Ð°Ð¹Ð´ÐµÑ Ð²Ð½Ðµ Ð·Ð¾Ð½Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¾ÑÑи, оÑÑанавливаем авÑовоÑпÑоизведение 90 stopAutoplay(horizontalSliderContainerItem); 91 } 92 }); 93 }, 94 { 95 threshold: 0, // ÐоÑог видимоÑÑи (50% ÑлеменÑа должно бÑÑÑ Ð²Ð¸Ð´Ð½Ð¾) 96 rootMargin: '200px 0px 200px 0px', 97 } 98 ); 99 100 // ÐаблÑдаем за ÑлайдеÑом 101 observer.observe(horizontalSliderContainerItem[0]); 102 } 103 } 104 105 // ФÑнкÑÐ¸Ñ Ð´Ð»Ñ Ð¿ÑовеÑки видимоÑÑи ÑлеменÑа 106function isElementVisible(element) { 107 const rect = element[0].getBoundingClientRect(); 108 return ( 109 rect.top < window.innerHeight && 110 rect.bottom > 0 && 111 rect.left < window.innerWidth && 112 rect.right > 0 113 ); 114} 115 116// ФÑнкÑÐ¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка авÑовоÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ 117function startAutoplay(sliderContainer, speed) { 118 if($(sliderContainer).attr('data-css-play') == 1) { 119 sliderContainer.addClass('play'); 120 } else { 121 const sliderId = sliderContainer.attr('id'); 122 if (autoplayIntervals[sliderId]) return; 123 124 // ÐеÑиÑÑем ÑлеменÑÑ Ð¸ ÑазмеÑÑ 125 const parent = sliderContainer.parent(); 126 let containerWidth = sliderContainer.outerWidth(); 127 let parentWidth = parent.outerWidth(); 128 let maxPosition = -(containerWidth * 2 - parentWidth); 129 130 const checkAndAnimate = () => { 131 if (!isElementVisible(sliderContainer)) { 132 stopAutoplay(sliderContainer); 133 return; 134 } 135 136 if (!parent.hasClass('hovered')) { 137 let currentPosition = parseInt(sliderContainer.attr('data-pos')) || 0; 138 139 if (currentPosition <= maxPosition) { 140 currentPosition = 0; 141 } else { 142 currentPosition -= 2; 143 } 144 145 sliderContainer.css('left', currentPosition + 'px'); 146 sliderContainer.attr('data-pos', currentPosition); 147 148 sethorizontalSliderActiveItem(sliderContainer); 149 sethorizontalSliderBtns(sliderContainer, currentPosition, maxPosition, 0); 150 } 151 }; 152 153 // СнаÑала пÑовеÑим видимоÑÑÑ 154 if (!isElementVisible(sliderContainer)) return; 155
156 let intervalId = setInterval(checkAndAnimate, speed); 157 autoplayIntervals[sliderId] = intervalId; 158 159 // ÐобавлÑем обÑабоÑÑик ÑкÑолла 160 $(window).on(`scroll.${sliderId}`, _.throttle(() => { 161 if (isElementVisible(sliderContainer) && !autoplayIntervals[sliderId]) { 162 startAutoplay(sliderContainer, speed); 163 } 164 }, 200)); 165 } 166} 167 168// ФÑнкÑÐ¸Ñ Ð´Ð»Ñ Ð¾ÑÑановки авÑовоÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ 169function stopAutoplay(sliderContainer) { 170 if ($(sliderContainer).attr('data-css-play') == 1) { 171 sliderContainer.removeClass('play'); 172 } else { 173 const sliderId = sliderContainer.attr('id'); 174 let intervalId = autoplayIntervals[sliderId]; 175 if (intervalId) { 176 clearInterval(intervalId); 177 delete autoplayIntervals[sliderId]; 178 $(window).off(`scroll.${sliderId}`); 179 } 180 } 181} 182 183 // ÐÑÑановка авÑовоÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ñи наведении кÑÑÑоÑа 184 $('.horizontalCustomSlider .sliderOverflow').hover( 185 function () { 186 let sliderContainer = $(this).find('.sliderContainer'); 187 // ÐÑовеÑÑем, помеÑаеÑÑÑ Ð»Ð¸ конÑÐµÐ½Ñ Ð² конÑÐµÐ¹Ð½ÐµÑ 188 if (!isHorizontalSliderCompletelyInParent(sliderContainer) && sliderContainer.attr('data-autoplay') == 1 && sliderContainer.attr('data-infinite') == 1) { 189 sliderContainer.parent().addClass('hovered'); 190 stopAutoplay(sliderContainer); // ÐÑÑанавливаем авÑовоÑпÑоизведение пÑи наведении 191 } 192 }, 193 function () { 194 let sliderContainer = $(this).find('.sliderContainer'); 195 // ÐÑовеÑÑем, помеÑаеÑÑÑ Ð»Ð¸ конÑÐµÐ½Ñ Ð² конÑÐµÐ¹Ð½ÐµÑ 196 if (!isHorizontalSliderCompletelyInParent(sliderContainer) && sliderContainer.attr('data-autoplay') == 1 && sliderContainer.attr('data-infinite') == 1) { 197 sliderContainer.parent().removeClass('hovered'); 198 let speed = parseInt(sliderContainer.attr('data-speed')) || 20; 199 startAutoplay(sliderContainer, speed); // ÐозобновлÑем авÑовоÑпÑоизведение пÑи ÑÑ Ð¾Ð´Ðµ кÑÑÑоÑа 200 } 201 } 202 ); 203 204 // ÐÑÑановка авÑовоÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ñи наведении на кнопки "впеÑед" и "назад" 205 $('.horizontalCustomSlider .sliderBtn').hover( 206 function () { 207 let sliderContainer = $(this).closest('.horizontalCustomSlider').find('.sliderContainer'); 208 // ÐÑовеÑÑем, помеÑаеÑÑÑ Ð»Ð¸ конÑÐµÐ½Ñ Ð² конÑÐµÐ¹Ð½ÐµÑ 209 if (!isHorizontalSliderCompletelyInParent(sliderContainer) && sliderContainer.attr('data-autoplay') == 1 && sliderContainer.attr('data-infinite') == 1) { 210 sliderContainer.parent().addClass('hovered'); 211 stopAutoplay(sliderContainer); // ÐÑÑанавливаем авÑовоÑпÑоизведение пÑи наведении на ÐºÐ½Ð¾Ð¿ÐºÑ 212 } 213 }, 214 function () { 215 let sliderContainer = $(this).closest('.horizontalCustomSlider').find('.sliderContainer'); 216 // ÐÑовеÑÑем, помеÑаеÑÑÑ Ð»Ð¸ конÑÐµÐ½Ñ Ð² конÑÐµÐ¹Ð½ÐµÑ 217 if (!isHorizontalSliderCompletelyInParent(sliderContainer) && sliderContainer.attr('data-autoplay') == 1 && sliderContainer.attr('data-infinite') == 1) { 218 sliderContainer.parent().removeClass('hovered'); 219 let speed = parseInt(sliderContainer.attr('data-speed')) || 20; 220 startAutoplay(sliderContainer, speed); // ÐозобновлÑем авÑовоÑпÑоизведение пÑи ÑÑ Ð¾Ð´Ðµ кÑÑÑоÑа Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ 221 } 222 } 223 ); 224 225 // ÐÑÑалÑной код ÑлайдеÑа (оÑÑаеÑÑÑ Ð±ÐµÐ· изменений) 226 $('.horizontalCustomSlider .sliderOverflow').mousemove(function (e) { 227 let position = e.pageX - $(this).offset().left; 228 let horizontalSliderContainer = $(this).find('.sliderContainer'); 229 let containerOffset = +horizontalSliderContainer.attr('data-pos'); 230 let sliderContainerChilds = horizontalSliderContainer.children(':not(.copy)'); 231 let isCursorOnChild = false;
232 for (let i = 0; i < sliderContainerChilds.length; i++) { 233 let childStart = $(sliderContainerChilds[i]).position().left + containerOffset; 234 let childEnd = $(sliderContainerChilds[i]).position().left + $(sliderContainerChilds[i]).outerWidth() + containerOffset; 235 if (position >= childStart && position <= childEnd) { 236 isCursorOnChild = true; 237 break; 238 } 239 } 240 sliderContainerChilds = horizontalSliderContainer.find('.copy').children(); 241 for (let i = 0; i < sliderContainerChilds.length; i++) { 242 let childStart = $(sliderContainerChilds[i]).position().left + containerOffset + $(sliderContainerChilds[i]).parent().position().left; 243 let childEnd = $(sliderContainerChilds[i]).position().left + $(sliderContainerChilds[i]).outerWidth() + containerOffset + $(sliderContainerChilds[i]).parent().position().left; 244 let itemOffset = $(sliderContainerChilds[i]).css('margin-right'); 245 if (position >= childStart && position <= childEnd) { 246 isCursorOnChild = true; 247 break; 248 } 249 } 250 if (isCursorOnChild && !$(this).hasClass('cursor')) { 251 $(this).addClass('cursor'); 252 } else if (!isCursorOnChild && $(this).hasClass('cursor')) { 253 $(this).removeClass('cursor'); 254 } 255 }); 256 257 $('.horizontalCustomSlider .sliderOverflow').swipe({ 258 swipeStatus: function (event, phase, direction, distance, duration, fingers, fingerData, currentDirection) { 259 let currentTarget = $(event.target); 260 let sliderContainer = currentTarget.parent().find('.sliderContainer'); 261 if (phase == 'cancel') { 262 if (event.button != undefined && event.button > 0) { 263 return; 264 } 265 let clickPos = 0; 266 if (event.offsetX != undefined) { 267 clickPos = event.offsetX; 268 } else if (event.changedTouches != undefined && event.changedTouches[0].pageX != undefined) { 269 clickPos = event.changedTouches[0].pageX - $(this).offset().left; 270 } 271 let currentPos = +sliderContainer.attr('data-pos'); 272 let items = sliderContainer.children(':not(.copy)'); 273 let clickOffsetParentPosition = clickPos - currentPos; 274 for (let i = 0; i < items.length; i++) { 275 let itemPosMin = +$(items[i]).position().left; 276 let itemPosMax = +$(items[i]).position().left + $(items[i]).outerWidth(); 277 if (clickOffsetParentPosition >= itemPosMin && clickOffsetParentPosition <= itemPosMax) { 278 let clickItem = $(items[i]); 279 if (clickItem.parent().hasClass('copy')) { 280 let itemIndex = clickItem.index(); 281 clickItem = items[itemIndex]; 282 } 283 setTimeout(function () { clickItem.click(); }, 20); 284 } 285 } 286 itemsCopy = sliderContainer.find('.copy').children(); 287 for (let i = 0; i < itemsCopy.length; i++) { 288 let itemPosMin = +$(itemsCopy[i]).position().left + +$(itemsCopy[i]).parent().position().left; 289 let itemPosMax = +$(itemsCopy[i]).position().left + $(itemsCopy[i]).outerWidth() + +$(itemsCopy[i]).parent().position().left; 290 if (clickOffsetParentPosition >= itemPosMin && clickOffsetParentPosition <= itemPosMax) { 291 let clickItem = $(itemsCopy[i]); 292 if (clickItem.parent().hasClass('copy')) { 293 let itemIndex = $(itemsCopy[i]).index(); 294 clickItem = items[itemIndex]; 295 console.log(itemIndex); 296 setTimeout(function () { clickItem.click(); }, 20); 297 } 298 } 299 } 300 } 301 if (isHorizontalSliderCompletelyInParent(sliderContainer)) { 302 return; 303 } 304 if (phase == 'start' || oldDirection == null || oldDirection == 'none') { oldDirection = currentDirection; startPosition = +sliderContainer.attr('data-pos'); } 305 let currentTargetWidth = currentTarget.outerWidth();
306 let minPositon = -(sliderContainer.outerWidth() - currentTargetWidth); 307 let maxPositioin = 0; 308 if ((oldDirection == 'left' || oldDirection == 'right')) { 309 if (direction == 'left') { 310 newPosition = startPosition - distance; 311 } else if (oldDirection == 'right') { 312 newPosition = startPosition + distance; 313 } 314 if (sliderContainer.attr('data-infinite') != undefined && sliderContainer.attr('data-infinite') == 1) { 315 maxPositioin = +sliderContainer.outerWidth(); 316 minPositon -= +sliderContainer.outerWidth(); 317 } 318 if (newPosition > maxPositioin) { newPosition = maxPositioin; } 319 if (newPosition < minPositon) { newPosition = minPositon; } 320 sliderContainer.css('left', newPosition + 'px'); 321 sliderContainer.attr('data-pos', newPosition); 322 sethorizontalSliderActiveItem(sliderContainer); 323 sethorizontalSliderBtns(sliderContainer, newPosition, minPositon, maxPositioin); 324 } 325 }, 326 threshold: 10, 327 fingers: 'all', 328 allowPageScroll: 'vertical' 329 }); 330 331 $('.horizontalCustomSlider .sliderBtn').click(function () { 332 let addPosition = Math.min(150, $(window).width()/3); 333 let sliderContainer = $(this).parent().parent().find('.sliderContainer'); 334 if (isHorizontalSliderCompletelyInParent(sliderContainer)) { 335 return; 336 } 337 let items = sliderContainer.children(':not(.copy)'); 338 let activeItem = sliderContainer.find('.active'); 339 let infinite = sliderContainer.attr('data-infinite') == 1; 340 let autoplay = sliderContainer.attr('data-autoplay') == 1; 341 if(autoplay && infinite){ 342 let currentTargetWidth = sliderContainer.parent().outerWidth(); 343 let minPositon = -(+sliderContainer.outerWidth()*2 - currentTargetWidth); 344 let maxPositioin = +sliderContainer.outerWidth(); 345 let newPosition = +sliderContainer.attr('data-pos'); 346 if($(this).hasClass('prev')){ 347 newPosition += addPosition; 348 }else if($(this).hasClass('next')){ 349 newPosition -= addPosition; 350 } 351 if (newPosition > maxPositioin) { newPosition = maxPositioin; } 352 if (newPosition < minPositon) { newPosition = minPositon; } 353 sliderContainer.css('left', newPosition + 'px'); 354 sliderContainer.attr('data-pos', newPosition); 355 sethorizontalSliderActiveItem(sliderContainer); 356 sethorizontalSliderBtns(sliderContainer, newPosition, minPositon, maxPositioin); 357 }else{ 358 if ($(this).hasClass('prev')) { 359 if (infinite && $(activeItem).index() == 0) { 360 items.removeClass('active'); 361 $(items[items.length - 1]).addClass('active'); 362 } else if ($(activeItem).index() > 0) { 363 items.removeClass('active'); 364 $(items[+$(activeItem).index() - 1]).addClass('active'); 365 } 366 sethorizontalSliderActivePosition(sliderContainer); 367 } else if ($(this).hasClass('next')) { 368 if (infinite && $(activeItem).index() == items.length - 2) { 369 items.removeClass('active'); 370 $(items[0]).addClass('active'); 371 } else if ($(activeItem).index() < items.length - 1) { 372 items.removeClass('active'); 373 $(items[+$(activeItem).index() + 1]).addClass('active'); 374 } 375 sethorizontalSliderActivePosition(sliderContainer); 376 } 377 } 378 379 }); 380} 381function isHorizontalSliderCompletelyInParent(sliderContainer) { 382 let cont = $(sliderContainer); 383 if (cont.outerWidth() <= cont.parent().outerWidth()) { 384 cont.addClass('blockedSlider'); 385 return true; // ÐонÑÐµÐ½Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿Ð¾Ð¼ÐµÑаеÑÑÑ 386 } 387 cont.removeClass('blockedSlider'); 388 return false; // ÐонÑÐµÐ½Ñ Ð½Ðµ помеÑаеÑÑÑ 389} 390function sethorizontalSliderActiveItem(sliderContainer){ 391 let position = +sliderContainer.attr('data-pos'); 392 let realPosition = position; 393 if(sliderContainer.attr('data-infinite')!=undefined && sliderContainer.attr('data-infinite')==1){
394 let currentTargetWidth = sliderContainer.parent().outerWidth(); 395 let sliderContainerWidth = +sliderContainer.outerWidth(); 396 let minPositon = -(sliderContainerWidth - currentTargetWidth); 397 398 //let videoPlaying = sliderContainer.children('.playing').find('video'); 399 let videoPlaying = sliderContainer.children('.hasVideo'); 400 401 if(position<minPositon){ 402 let tmpPosition = sliderContainerWidth + position; 403 if(videoPlaying.length>0){ 404 //let videoCopyPlaying = sliderContainer.find('.copy2 video'); 405 let videoCopyPlaying = sliderContainer.find('.copy2 .hasVideo'); 406 if(videoCopyPlaying.length>0){ 407 for(let i=0;i<videoPlaying.length;i++){ 408 if($(videoCopyPlaying[i]).length>0){ 409 let video1 = $(videoPlaying[i]).find('video'); 410 let video2 = $(videoCopyPlaying[i]).find('video'); 411 if(video1.length>0 && video2.length>0){ 412 $(video1).get(0).currentTime = $(video2).get(0).currentTime; 413 } 414 } 415 } 416 } 417 } 418 if(tmpPosition<0){ 419 sliderContainer.css('left',tmpPosition+'px'); 420 sliderContainer.attr('data-pos',tmpPosition); 421 } 422 }else if(position>0){ 423 let tmpPosition = (realPosition-currentTargetWidth - sliderContainerWidth) + position; 424 if(videoPlaying.length>0){ 425 //let videoCopyPlaying = sliderContainer.find('.copy1 video'); 426 let videoCopyPlaying = sliderContainer.find('.copy1 .hasVideo'); 427 if(videoCopyPlaying.length>0){ 428 for(let i=0;i<videoPlaying.length;i++){ 429 if($(videoCopyPlaying[i]).length>0){ 430 let video1 = $(videoPlaying[i]).find('video'); 431 let video2 = $(videoCopyPlaying[i]).find('video'); 432 if(video1.length>0 && video2.length>0){ 433 $(video1).get(0).currentTime = $(video2).get(0).currentTime; 434 } 435 } 436 } 437 } 438 } 439 if(realPosition>=currentTargetWidth){ 440 sliderContainer.css('left',tmpPosition+'px'); 441 sliderContainer.attr('data-pos',tmpPosition); 442 } 443 }else{ 444 /*console.log('center'+ realPosition)*/ 445 } 446 } 447 448 let items = sliderContainer.children(':not(.copy)'); 449 items.removeClass('active'); 450 for(let i=0;i<items.length;i++){ 451 let itemPos = +$(items[i]).position().left+realPosition; 452 if(itemPos>=0){ 453 $(items[i]).addClass('active'); 454 break; 455 } 456 } 457} 458function sethorizontalSliderActivePosition(sliderContainer){ 459 let activeItem = sliderContainer.find('.active'); 460 let activeItemPosition = activeItem.position().left; 461 let newPosition = 0; 462 if(activeItemPosition>0){ 463 newPosition = -activeItemPosition; 464 } 465 let maxPositioin = 0; 466 let currentTargetWidth = sliderContainer.parent().outerWidth(); 467 let minPositon = -(sliderContainer.outerWidth() - currentTargetWidth); 468 if(newPosition>maxPositioin){newPosition=maxPositioin;} 469 if(newPosition<minPositon){newPosition=minPositon;} 470 if(sliderContainer.attr('data-infinite')!=undefined && sliderContainer.attr('data-infinite')==1){ 471 maxPositioin=+sliderContainer.outerWidth(); 472 minPositon-=+sliderContainer.outerWidth(); 473 } 474 sliderContainer.parent().parent().addClass('animate'); 475 sliderContainer.css('left',newPosition+'px'); 476 sliderContainer.attr('data-pos',newPosition); 477 setTimeout(function(){sliderContainer.parent().parent().removeClass('animate');},320); 478 sethorizontalSliderActiveItem(sliderContainer); 479 sethorizontalSliderBtns(sliderContainer,newPosition,minPositon,maxPositioin); 480} 481function sethorizontalSliderBtns(sliderContainer, newPosition, minPositon, maxPositioin = 0){ 482 let btns = sliderContainer.parent().parent().find('.sliderBtn'); 483 btns.removeClass('disabled'); 484 485 // ÐÑли вклÑÑен беÑконеÑнÑй Ñежим, не блокиÑÑем кнопки 486 if(!(sliderContainer.attr('data-infinite') != undefined && sliderContainer.attr('data-infinite') == 1)){ 487 if(newPosition == maxPositioin){ 488 sliderContainer.parent().parent().find('.sliderBtn.prev').addClass('disabled'); 489 } 490 if(newPosition == minPositon){ 491 sliderContainer.parent().parent().find('.sliderBtn.next').addClass('disabled'); 492 } 493 } 494} 495 496 497 498 499new customCssStyleSliderActivator('.catalogInterlayerBuiltHouses2025Slider', false, true); 500new customCssStyleSliderActivator('.interlayerBox2025', false, true, false, true, true); 501 502 503/*constructionStages2025Tabs*/ 504let constructionStages2025TabsBoxes = $('.constructionStages2025TabsBox'); 505for(let i=0;i<constructionStages2025TabsBoxes.length;i++){
506 let constructionStages2025Tab = $(constructionStages2025TabsBoxes[i]).find('.constructionStages2025Tab'); 507 let constructionStages2025Data = $(constructionStages2025TabsBoxes[i]).find('.constructionStages2025Data'); 508 for(let j=0;j<constructionStages2025Tab.length;j++){ 509 $(constructionStages2025Data[j]).find('.tabBtn').text($(constructionStages2025Tab[j]).text()); 510 } 511} 512$('.constructionStages2025Tab:first-child').addClass('selected'); 513$('.constructionStages2025Data:first-child').addClass('selected'); 514$('.constructionStages2025Tab').click(function(){ 515 let newActiveIndex = $(this).index(); 516 $(this).parent().children().removeClass('selected'); 517 $(this).addClass('selected'); 518 let dataBox = $(this).closest('.constructionStages2025TabsBox').find('.constructionStages2025DataBox'); 519 let dataItems = $(dataBox).children(); 520 dataItems.removeClass('selected'); 521 $(dataItems[newActiveIndex]).addClass('selected'); 522 dataBox.css('height', $(dataItems[newActiveIndex]).outerHeight()+'px'); 523}); 524$('.tabBtn').click(function(){ 525 let newActiveIndex = $(this).parent().index(); 526 $(this).parent().parent().children().removeClass('selected'); 527 $(this).parent().addClass('selected'); 528 let tabs = $(this).closest('.constructionStages2025TabsBox').find('.constructionStages2025Tabs .constructionStages2025Tab'); 529 tabs.removeClass('selected'); 530 $(tabs[newActiveIndex]).addClass('selected'); 531 let dataBox = $(this).closest('.constructionStages2025TabsBox').find('.constructionStages2025DataBox'); 532 dataBox.css('height', 'auto'); 533 /*TODO: показаÑÑ Ð°ÐºÑивнÑй блок и пÑоÑкÑоллиÑÑ Ðº немÑ*/ 534}); 535 536 537 538/*questionsBlock2025*/ 539if($('div').is('.questionDerevo2025')){ 540 $('.questionDerevo2025').click(function(){ 541 let item=$(this).parent(); 542 item.toggleClass('active'); 543 let answerOld = item.find('.answerDerevo2025'); 544 if(item.hasClass('active')){ 545 /*answerOld.css('height', answerOld.find('.text').outerHeight()+'px');*/ 546 }else{ 547 /*answerOld.css('height', '0px');*/ 548 } 549 }); 550} 551$('.faqDerevo2025Box:first-child').addClass('active'); 552 553 554 555$('.fixMenu2025_2 .close').click(function(){ 556 $('.fixMenu2025_2').removeClass('opened'); 557 $('.menuBtn2025').removeClass('active'); 558}); 559$('.menuBtn2025').click(function(){ 560 if($(this).hasClass('active')){ 561 $('.fixMenu2025_2').removeClass('opened'); 562 $(this).removeClass('active'); 563 }else{ 564 $('.fixMenu2025_2').addClass('opened'); 565 $(this).addClass('active'); 566 $('.searchHeader2025').removeClass('active'); 567 $('.mobSearchBtn2025').removeClass('active'); 568 } 569}); 570 571 572$('.mobSearchBtn2025').click(function(){ 573 if($(this).hasClass('active')){ 574 $('.searchHeader2025').removeClass('active'); 575 $(this).removeClass('active'); 576 }else{ 577 $(this).addClass('active'); 578 $('.searchHeader2025 input').focus(); 579 $('.searchHeader2025').addClass('active'); 580 $('.fixMenu2025_2').removeClass('opened'); 581 $('.menuBtn2025').removeClass('active'); 582 } 583}); 584 585$('.searchHeader2025 input').focusout(function(){ 586 setTimeout(function(){$('.mobSearchBtn2025').removeClass('active');$('.searchHeader2025').removeClass('active');}, 200); 587 588}); 589 590/*УдалиÑÑ ÑеÑÑовÑй год*/ 591/*$('.excursionDerevo2025Title').click(testExcursionVideo); 592var excursData=['v','h','vv','hv','hh','vvv','hvv','hhv','hhh','vvvv','hvvv','hhvv','hhhv','hhhh']; 593var activeExcursData = excursData.length-1; 594function testExcursionVideo(){ 595 if(activeExcursData==excursData.length-1){ 596 activeExcursData=0; 597 }else{ 598 activeExcursData++; 599 } 600 let htmlData=''; 601 for(let i=0;i<excursData[activeExcursData].length;++i){ 602 let classItem = ''; 603 if(excursData[activeExcursData][i]=='v'){ 604 classItem = 'clip'; 605 } 606 htmlData+='<div class="excursionDerevo2025Video '+classItem+'" style="background:#467b1f;"></div>'; 607 } 608 for(let i=0;i<excursData.length;++i){ 609 $('.excursionDerevo2025Content').removeClass('videocount_'+excursData[i]); 610 } 611 $('.excursionDerevo2025Content').addClass('videocount_'+excursData[activeExcursData]); 612 $('.excursionDerevo2025VideoBox').html(htmlData); 613 //setTimeout(testExcursionVideo,1000); 614}*/ 615/**/ 616 617 618 619if(isMobile != undefined && isMobile.iOS()){ 620 $('body').addClass('ios'); 621}
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.