<!--Увеличиваем размер холста у блоков-->
<script>
document.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
var artboard_2 = document.querySelector('.uc-cases-scroll-2 .t396__artboard');
if (artboard_2) {
artboard_2.style.cssText = "height: 130vh !important;";
};
var artboard_3 = document.querySelector('.uc-cases-scroll-3 .t396__artboard');
if (artboard_3) {
artboard_3.style.cssText = "height: 130vh !important;";
};
var artboard_4 = document.querySelector('.uc-cases-scroll-4 .t396__artboard');
if (artboard_4) {
artboard_4.style.cssText = "height: 130vh !important;";
};
var artboard_5 = document.querySelector('.uc-cases-scroll-5 .t396__artboard');
if (artboard_5) {
artboard_5.style.cssText = "height: 130vh !important;";
};
}, 1000);
});
</script>
<!--Поведение по наведению на бегущие строки-->
<script>
$('.link-active-1').mouseover(function() {
$('.bg-project-1').addClass('bg-project-active');
}).mouseout(function() {
$('.bg-project-1').removeClass('bg-project-active');
});
$('.link-active-1').mouseover(function() {
$('.marquee__part_1').addClass('marquee__part-active');
}).mouseout(function() {
$('.marquee__part_1').removeClass('marquee__part-active');
});
$('.link-active-2').mouseover(function() {
$('.bg-project-2').addClass('bg-project-active');
}).mouseout(function() {
$('.bg-project-2').removeClass('bg-project-active');
});
$('.link-active-2').mouseover(function() {
$('.marquee__part_2').addClass('marquee__part-active');
}).mouseout(function() {
$('.marquee__part_2').removeClass('marquee__part-active');
});
$('.link-active-3').mouseover(function() {
$('.bg-project-3').addClass('bg-project-active');
}).mouseout(function() {
$('.bg-project-3').removeClass('bg-project-active');
});
$('.link-active-3').mouseover(function() {
$('.marquee__part_3').addClass('marquee__part-active');
}).mouseout(function() {
$('.marquee__part_3').removeClass('marquee__part-active');
});
$('.link-active-4').mouseover(function() {
$('.bg-project-4').addClass('bg-project-active');
}).mouseout(function() {
$('.bg-project-4').removeClass('bg-project-active');
});
$('.link-active-4').mouseover(function() {
$('.marquee__part_4').addClass('marquee__part-active');
}).mouseout(function() {
$('.marquee__part_4').removeClass('marquee__part-active');
});
$('.link-active-5').mouseover(function() {
$('.bg-project-5').addClass('bg-project-active');
}).mouseout(function() {
$('.bg-project-5').removeClass('bg-project-active');
});
$('.link-active-5').mouseover(function() {
$('.marquee__part_5').addClass('marquee__part-active');
}).mouseout(function() {
$('.marquee__part_5').removeClass('marquee__part-active');
});
</script>
<style>
.bg-project-1, .bg-project-2, .bg-project-3, .bg-project-4, .bg-project-5 {
transition-duration: 0.5s;
}
.bg-project-active {
transform: scale(1.1);
}
.marquee__part_1, .marquee__part_2, .marquee__part_3, .marquee__part_4, .marquee__part_5 {
-webkit-text-stroke: 0.8px transparent;
}
.marquee__part-active {
-webkit-text-stroke: 0.8px white !important;
}
.marquee__part-active .tn-atom {
color: transparent !important;
}
</style>
<!--Перемещаем в контейнер общий-->
<script>
$('.uc-cases-scroll-1, .uc-cases-scroll-2, .uc-cases-scroll-3, .uc-cases-scroll-4, .uc-cases-scroll-5').appendTo('.uc-list-prj .t396__artboard .list-shape .tn-atom');
</script>
<!--Бегущая строка
https://mt-webdesign.ru/marquee-->
<style>
/*Настройки строки*/
:root {
--MarqueeRotate_1: rotate(0deg); /*угол наклона строки*/
--MarqueeIndex_1: 2; /*z-index строки - для смены положения (передний план или задний)*/
--MarqueeImg_1: ; /*путь до изображения, если оно нужно*/
--MarqueeImgWidth_1: ; /*ширина изображения (лучше использовать динамичные параметры в em)*/
--MarqueeImgHeight_1: ; /*высота изображения (лучше использовать динамичные параметры в em)*/
}
.marquee_1 {
z-index: var(--MarqueeIndex_1);
position: relative;
}
.line-marq {
z-index: 11 !important;
}
.marquee__inner_1 {
display: flex;
width: fit-content;
flex: auto;
flex-direction: row;
transform: var(--MarqueeRotate_1);
position: absolute;
left: 50%;
}
.marquee__part_1 {
position: relative;
display: flex;
align-items: center;
flex-shrink: 0;
padding: 0 0.5em;
-webkit-text-stroke: 1px transparent;
}
.marquee__part_1:after {
content: '';
width: var(--MarqueeImgWidth_1);
height: var(--MarqueeImgHeight_1);
background-image: var(--MarqueeImg_1);
background-size: cover;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.4/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.4/ScrollTrigger.min.js"></script>
<script>
$(document).ready(function(){
var originalElement_1 = $('.marquee__part_1');
// клонирование элементов
var duplicatedElements_1 = originalElement_1.clone().add(originalElement_1.clone())
.add(originalElement_1.clone()).add(originalElement_1.clone())
.add(originalElement_1.clone()).add(originalElement_1.clone())
.add(originalElement_1.clone());
originalElement_1.after(duplicatedElements_1);
// оборачиваем их в общий блок
$('.marquee__part_1').wrapAll('<div class="marquee__inner_1"></div>');
$('.marquee__inner_1').wrap('<div class="marquee_1"></div>');
setTimeout(function() {
let currentScroll_1 = 0;
let isScrollingDown_1 = true;
let tween = gsap.to('.marquee__part_1', {
xPercent: 100,
repeat: -1,
duration: 30, // скорость анимации (чем выше значение, тем меньше скорость)
ease: 'linear'
})
.totalProgress(0.5);
gsap.set('.marquee__inner_1', { xPercent: -50});
window.addEventListener('scroll', function() {
if(window.pageYOffset > currentScroll_1) {
isScrollingDown_1 = true;
} else {
isScrollingDown_1 = false;
}
let newTimeScale = isScrollingDown_1 ? 1 : -1; // выбор направления
gsap.to(tween, {
timeScale: newTimeScale,
});
currentScroll_1 = window.pageYOffset;
});
}, 0);
});
</script>
<!--Прописываем условия для сдвига и затемнения-->
<style>
.uc-cases-scroll-1 {
transition-duration: 0.8s;
transform: translateY(0px);
}
.transform-up-1 {
transform: translateY(-500px);
}
.uc-cases-scroll-2 {
width: 100%;
height: 100%;
transform: translateY(500px);
transition-duration: 0.8s;
}
.transform-up-2 {
transform: translateY(0px);
}
.transform-up-again-2 {
transform: translateY(-500px);
}
.uc-cases-scroll-3 {
width: 100%;
height: 100%;
transform: translateY(500px);
transition-duration: 0.8s;
}
.transform-up-3 {
transform: translateY(0px);
}
.transform-up-again-3 {
transform: translateY(-500px);
}
.uc-cases-scroll-4 {
width: 100%;
height: 100%;
transform: translateY(500px);
transition-duration: 0.8s;
}
.transform-up-4 {
transform: translateY(0px);
}
.transform-up-again-4 {
transform: translateY(-500px);
}
.uc-cases-scroll-5 {
width: 100%;
height: 100%;
transform: translateY(500px);
transition-duration: 0.8s;
}
.transform-up-5 {
transform: translateY(0px);
}
.transform-up-again-5 {
transform: translateY(-500px);
}
.opacity-bg-1 .tn-atom,
.opacity-bg-2 .tn-atom,
.opacity-bg-3 .tn-atom,
.opacity-bg-4 .tn-atom {
transition-duration: 0.8s;
}
.opacity-bg-active .tn-atom {
opacity: 0.85 !important;
}
.uc-absolute {
z-index: 160;
position: relative;
}
@media only screen and (max-width: 600px) {
.transform-up-1 {
transform: translateY(-200px);
}
.uc-cases-scroll-2 {
width: 100%;
height: 100%;
transform: translateY(200px);
transition-duration: 0.8s;
}
.transform-up-again-2 {
transform: translateY(-200px);
}
.uc-cases-scroll-3 {
width: 100%;
height: 100%;
transform: translateY(200px);
transition-duration: 0.8s;
}
.transform-up-again-3 {
transform: translateY(-200px);
}
.uc-cases-scroll-4 {
width: 100%;
height: 100%;
transform: translateY(200px);
transition-duration: 0.8s;
}
.transform-up-again-4 {
transform: translateY(-200px);
}
.uc-cases-scroll-5 {
width: 100%;
height: 100%;
transform: translateY(200px);
transition-duration: 0.8s;
}
.transform-up-again-5 {
transform: translateY(-200px);
}
}
</style>
<!--Условия для работы с GSAP-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.7.0/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.7.0/ScrollTrigger.min.js"></script>
<style>
/*Указываем разрешение на котором начнет работать скрипт*/
@media only screen and (min-width: 0px) {
.t-body {
overflow-x: hidden;
}
.uc-cases-scroll-2 {
overflow: hidden;
z-index: 80 !important;
pointer-events: none;
position: absolute;
top: 0;
}
.uc-cases-scroll-3 {
overflow: hidden;
z-index: 90 !important;
pointer-events: none;
position: absolute;
top: 0;
}
.uc-cases-scroll-1 {
overflow: hidden;
z-index: 50 !important;
pointer-events: auto;
position: absolute;
top: 0;
height: 100vh;
width: 100vw;
}
.uc-cases-scroll-4 {
overflow: hidden;
z-index: 100 !important;
pointer-events: none;
position: absolute;
top: 0;
}
.uc-cases-scroll-5 {
overflow: hidden;
z-index: 100 !important;
pointer-events: none;
position: absolute;
top: 0;
}
.uc-cases-scroll-2 .t396,
.uc-cases-scroll-3 .t396,
.uc-cases-scroll-4 .t396,
.uc-cases-scroll-5 .t396 {
width: 110vw !important;
transform: rotate(0deg);
clip-path: polygon(91.5% 100%, 91.5% 100%, 0% 100%, 0% 100%);
overflow: hidden;
transition-duration: 0.8s;
transition-delay: 0s;
position: fixed;
}
.uc-cases-scroll-2.active .t396,
.uc-cases-scroll-3.active .t396,
.uc-cases-scroll-4.active .t396,
.uc-cases-scroll-5.active .t396 {
width: 110vw !important;
clip-path: polygon(91.5% 100%, 91.5% 0%, 0% 0%, 0% 100%);
overflow: hidden;
transform: rotate(0deg);
transition-duration: 0.8s;
}
.uc-cases-scroll-2 .t396__artboard,
.uc-cases-scroll-3 .t396__artboard,
.uc-cases-scroll-4 .t396__artboard,
.uc-cases-scroll-5 .t396__artboard {
transform: rotate(0deg);
transition-duration: 0.8s;
}
.uc-cases-scroll-2.active .t396__artboard,
.uc-cases-scroll-3.active .t396__artboard,
.uc-cases-scroll-4.active .t396__artboard,
.uc-cases-scroll-5.active .t396__artboard {
transition-duration: 0.8s;
transform: rotate(0deg);
}
.uc-cases-scroll-2.active, .uc-cases-scroll-3.active, .uc-cases-scroll-4.active, .uc-cases-scroll-5.active {
pointer-events: auto;
}
}
/*Для фиксации меню и других элементов на экране*/
.uc-cases-fix {
position: fixed;
z-index: 999 !important;
pointer-events: none;
width: 100%;
}
.uc-cases-fix .t396__artboard {
height: 100vh !important;
}
.uc-cases-fix .t396__elem {
pointer-events: all;
position: fixed;
}
</style>
<script>
/*Указываем тригер*/
gsap.registerPlugin(ScrollTrigger);
ScrollTrigger.create({
trigger: ".cases-trigger-1",
markers: false,
start: "top top",
end: "bottom top",
triggerHook: 0,
duration: "100%",
onEnter: () => cases_action_1(), // Скролл вниз (Зашел)
onLeave: () => cases_action_2(), // Скролл вниз (Покинул)
onEnterBack: () => cases_action_3(), // Скролл вверх (Зашел)
onLeaveBack: () => cases_action_4(), // Скролл вверх (Покинул)
});
ScrollTrigger.create({
trigger: ".cases-trigger-2",
markers: false,
start: "top top",
end: "bottom top",
triggerHook: 0,
duration: "100%",
onEnter: () => cases_action_11(),
onLeave: () => cases_action_22(),
onEnterBack: () => cases_action_33(),
onLeaveBack: () => cases_action_44(),
});
ScrollTrigger.create({
trigger: ".cases-trigger-3",
markers: false,
start: "top top",
end: "bottom top",
triggerHook: 0,
duration: "100%",
onEnter: () => cases_action_111(),
onLeave: () => cases_action_222(),
onEnterBack: () => cases_action_333(),
onLeaveBack: () => cases_action_444(),
});
ScrollTrigger.create({
trigger: ".cases-trigger-4",
markers: false,
start: "top top",
end: "bottom top",
triggerHook: 0,
duration: "100%",
onEnter: () => cases_action_1111(),
onLeave: () => cases_action_2222(),
onEnterBack: () => cases_action_3333(),
onLeaveBack: () => cases_action_4444(),
});
// Поведение между 1 кейсом и 2
// Скролл вниз (Зашел)
function cases_action_1() {
$('.uc-cases-scroll-2').addClass('active');
$('.uc-cases-scroll-2').addClass('transform-up-2');
$('.uc-cases-scroll-1').addClass('transform-up-1');
$('.opacity-bg-1').addClass('opacity-bg-active');
};
// Скролл вниз (Покинул)
function cases_action_2() {
$('.uc-cases-scroll-2').removeClass('active');
$('.uc-cases-scroll-2').addClass('transform-up-again-2');
};
// Скролл вверх (Зашел)
function cases_action_3() {
$('.uc-cases-scroll-2').addClass('active');
};
// Скролл вверх (Покинул)
function cases_action_4() {
$('.uc-cases-scroll-2').removeClass('active');
$('.uc-cases-scroll-2').removeClass('transform-up-2');
$('.uc-cases-scroll-1').removeClass('transform-up-1');
$('.opacity-bg-1').removeClass('opacity-bg-active');
};
// Поведение между 2 кейсом и 3
// Скролл вниз (Зашел)
function cases_action_11() {
$('.uc-cases-scroll-3').addClass('active');
$('.uc-cases-scroll-3').addClass('transform-up-3');
$('.uc-cases-scroll-2').addClass('transform-up-again-2');
$('.opacity-bg-2').addClass('opacity-bg-active');
};
// Скролл вниз (Покинул)
function cases_action_22() {
$('.uc-cases-scroll-3').removeClass('active');
$('.uc-cases-scroll-3').addClass('transform-up-again-3');
$('.uc-cases-scroll-2').addClass('transform-up-again-2');
};
// Скролл вверх (Зашел)
function cases_action_33() {
$('.uc-cases-scroll-3').addClass('active');
};
// Скролл вверх (Покинул)
function cases_action_44() {
$('.uc-cases-scroll-3').removeClass('active');
$('.uc-cases-scroll-3').removeClass('transform-up-3');
$('.uc-cases-scroll-2').removeClass('transform-up-again-2');
$('.opacity-bg-2').removeClass('opacity-bg-active');
};
// Поведение между 3 кейсом и 4
// Скролл вниз (Зашел)
function cases_action_111() {
$('.uc-cases-scroll-4').addClass('active');
$('.uc-cases-scroll-4').addClass('transform-up-4');
$('.uc-cases-scroll-3').addClass('transform-up-again-3');
$('.opacity-bg-3').addClass('opacity-bg-active');
};
// Скролл вниз (Покинул)
function cases_action_222() {
};
// Скролл вверх (Зашел)
function cases_action_333() {
$('.uc-cases-scroll-4').addClass('active');
};
// Скролл вверх (Покинул)
function cases_action_444() {
$('.uc-cases-scroll-4').removeClass('active');
$('.uc-cases-scroll-4').removeClass('transform-up-4');
$('.uc-cases-scroll-3').removeClass('transform-up-again-3');
$('.opacity-bg-3').removeClass('opacity-bg-active');
};
// Поведение между 4 кейсом и 5
// Скролл вниз (Зашел)
function cases_action_1111() {
$('.uc-cases-scroll-5').addClass('active');
$('.uc-cases-scroll-5').addClass('transform-up-5');
$('.uc-cases-scroll-4').addClass('transform-up-again-4');
$('.opacity-bg-4').addClass('opacity-bg-active');
};
// Скролл вниз (Покинул)
function cases_action_2222() {
};
// Скролл вверх (Зашел)
function cases_action_3333() {
$('.uc-cases-scroll-5').addClass('active');
$('.uc-cases-scroll-5').removeClass('transform-up-again-5');
$('.uc-cases-scroll-4').addClass('transform-up-again-4');
};
// Скролл вверх (Покинул)
function cases_action_4444() {
$('.uc-cases-scroll-5').removeClass('active');
$('.uc-cases-scroll-5').removeClass('transform-up-5');
$('.uc-cases-scroll-4').removeClass('transform-up-again-4');
$('.opacity-bg-4').removeClass('opacity-bg-active');
};
</script>