PageSourceSearch

https://reoneskin.com/theme/reone/js/main.js

js reoneskin.com collected 2026-10-06 14:02:47 UTC 8,589 bytes, 340 lines download raw bytes

1/*$(document).ready(function() {
2  $("[class^='hover_content']").each(function(index) {
3    const hoverCont = $(this).find(".re02_conho ul li .hover_cont");
4    const cursor = $(".re02_conho ul li .hover_cont").eq(index);
5
6    $(this).mouseenter(function() {
7      hoverCont.css("display", "block");
8      cursor.css("display", "block");
9    });
10
11    $(this).mouseleave(function() {
12      hoverCont.css("display", "none");
13      cursor.css("display", "none");
14    });
15
16    $(this).mousemove(function(e) {
17      cursor.css({
18        left: e.clientX + "px",
19        top: e.clientY + "px"
20      });
21    });
22  });
23});
24
25
26
27
28function countUp(target, start, end, duration) {
29	var obj = { count: start }; // 시작값 설정
30	gsap.to(obj, {
31		count: end,
32		duration: duration,
33		onUpdate: function() {
34			// 업데이트 함수로 인라인 스타일을 업데이트하여 표시
35			target.textContent = Math.ceil(obj.count); // 소수점 이하 반올림
36		}
37	});
38}
39
40// 카운트 업 애니메이션 호출
41countUp(document.getElementById("count"), 0, 2006, 3); // 숫자를 0부터 100까지 2초간 애니메이션*/
42gsap.registerPlugin(ScrollTrigger, SplitText, CustomEase, Flip);
43
44let scroll;
45let transitionOffset = 1100;
46let staggerDefault = 0.07;
47let durationDefault = 1.47;
48let durationDefaultFaster = 1.2;
49
50/**
51 * Fire all scripts on page load
52 */
53function initScript() {
54   initSplitText();
55   initCheckWindowHeight();
56   initBasicFunctions();
57   initLazyLoad();
58   initScrollTriggerPlayVideoInview();
59   initScrollToAnchorLenis();
60   initMagnetic();
61   initVimeoLightbox();
62   initVimeoPlayer();
63   initScrolltriggerAnimations();
64   initBearlyDigitalContactForm();
65
66   // Refresh ScrollTrigger after initialization
67   ScrollTrigger.refresh();
68}
69
70/**
71* GSAP Split Text
72*/
73function initSplitText() {
74   var splitTextLines = new SplitText(".split-lines.not-split", {type: "lines", linesClass: "single-line"});
75   $('.split-lines.not-split .single-line').wrapInner('<div class="single-line-inner">');
76   $(splitTextLines.elements).each(function(){
77      if($(this).hasClass('not-split')) {
78         $(this).removeClass('not-split');
79      }
80   }); 
81}
82
83if(document.querySelector('.split-lines.animate-scroll-each .single-line')) {
84   $('.split-lines.animate-scroll-each .single-line').each(function () {
85      let triggerElement = $(this);
86      let targetElement = $(this).find('.single-line-inner');
87    
88       let tl = gsap.timeline({
89          scrollTrigger: {
90            trigger: triggerElement,
91            start: "0% 90%",
92            end: "100% 0%",
93            toggleActions: "play none none reset"
94          }
95       });
96
97       tl.fromTo(targetElement, {
98         yPercent: 110,
99         rotate: 0.001
100      },{
101         yPercent: 0,
102         rotate: 0.001,
103         ease: "primary-ease",
104         duration: durationDefault,
105         stagger: staggerDefault
106      }, -0.2);
107   });
108}
109
110
111if(document.querySelector('.split-lines.animate-scroll')) {
112   $('.split-lines.animate-scroll').each(function () {
113      let triggerElement = $(this);
114      let targetElement = $(this).find('.single-line-inner');
115    
116       let tl = gsap.timeline({
117          scrollTrigger: {
118            trigger: triggerElement,
119            start: "0% 90%",
120            end: "100% 0%",
121            toggleActions: "play none none reset"
122          }
123       });
124
125       tl.fromTo(targetElement, {
126         yPercent: 110,
127         rotate: 0.001
128      },{
129         yPercent: 0,
130         rotate: 0.001,
131         ease: "primary-ease",
132         duration: durationDefault,
133         stagger: staggerDefault
134      }, -0.2);
135   });
136}
137
138if(document.querySelector('.animate-scroll-group')) {
139   $('.animate-scroll-group').each(function () {
140      let triggerElement = $(this);
141      let targetElementLines = triggerElement.find('.single-line-inner');
142      let targetElementFade = triggerElement.find('.fade-in');
143      let targetElementButton = triggerElement.find('.btn-animate-in .link');
144    
145       let tl = gsap.timeline({
146          scrollTrigger: {
147            trigger: triggerElement,
148            start: "0% 80%",
149            end: "100% 0%",
150            toggleActions: "play none none reset"
151          }
152       });
153
154       if(targetElementLines.length) {
155         tl.fromTo(targetElementLines, {
156            yPercent: 110,
157            rotate: 0.001
158         },{
159            yPercent: 0,
160            rotate: 0.001,
161            ease: "primary-ease",
162            duration: durationDefault,
163            stagger: staggerDefault
164         }, -0.2);
165      }
166
167      let fadeOffset;
168      if(targetElementLines.length) {
169         fadeOffset = "> -1.16";
170      } else {
171         fadeOffset = "0.2";
172      }
173
174      if(targetElementFade.length) {
175         tl.fromTo(targetElementFade, {
176            y: "2em",
177            rotate: 0.001,
178            autoAlpha: 0
179         },{
180            y: 0,
181            rotate: 0.001,
182            autoAlpha: 1,
183            ease: "Expo.easeOut",
184            duration: durationDefault,
185            stagger: staggerDefault
186         }, fadeOffset );
187      }
188
189      let btnOffset;
190      if(targetElementLines.length) {
191         btnOffset = "> -1.36"; 
192      } else if(targetElementFade.length) {
193         btnOffset = "> -1.36"; 
194      } else {
195         btnOffset = "-0";
196      }
197
198      if(targetElementButton.length) {
199         tl.fromTo(targetElementButton, {
200            yPercent: 110,
201            rotate: 0.001,
202         },{
203            yPercent: 0,
204            rotate: 0.001,
205            ease: "primary-ease",
206            duration: durationDefault,
207            stagger: staggerDefault
208         }, btnOffset);
209      }
210   });
211}
212
213//re03 swiper
214function setupAnimation() {
215  if (document.querySelector('.animate-scroll-group')) {
216    $('.animate-scroll-group').each(function () {
217      let triggerElement = $(this);
218	  let targetElementLines = triggerElement.find('.single-line-inner');
219      let targetElementLines2 = triggerElement.find('.single-line-inner2');
220	  let targetElementLines3 = triggerElement.find('.single-line-inner3');
221    
222      let tl = gsap.timeline({
223        scrollTrigger: {
224          trigger: triggerElement,
225          start: "0% 90%",
226          end: "100% 0%",
227          toggleActions: "play none none reset"
228        }
229      });
230
231    if(targetElementLines.length) {
232         tl.fromTo(targetElementLines, {
233            yPercent: 110,
234            rotate: 0.001
235         },{
236            yPercent: 0,
237            rotate: 0.001,
238            ease: "primary-ease",
239            duration: durationDefault,
240            stagger: staggerDefault
241         }, -0.2);
242      }
243
244      let fadeOffset;
245      if(targetElementLines.length) {
246         fadeOffset = "> -1.16";
247      } else {
248         fadeOffset = "0.2";
249      }
250
251      if (targetElementLines2.length) {
252        tl.fromTo(targetElementLines2, {
253          yPercent: 110,
254          rotate: 0.001
255        }, {
256          yPercent: 0,
257          rotate: 0.001,
258          ease: "primary-ease",
259          duration: durationDefault,
260          stagger: staggerDefault
261        }, -0.2);
262      }
263
264      let fadeOffset2;
265      if (targetElementLines2.length) {
266        fadeOffset2 = "> -1.16";
267      } else {
268        fadeOffset2 = "0.2";
269      }
270
271      if (targetElementLines3.length) {
272        tl.fromTo(targetElementLines3, {
273          xPercent: -110,
274          rotate: 0.001
275        }, {
276          xPercent: 0,
277          rotate: 0.001,
278          ease: "primary-ease",
279          duration: durationDefault,
280          stagger: staggerDefault
281        }, -0.2);
282      }
283
284      let fadeOffset3;
285      if (targetElementLines3.length) {
286        fadeOffset3 = "> -1.16";
287      } else {
288        fadeOffset3 = "0.2";
289      }
290
291
292
293
294    });
295  }
296}
297
298/**
299* Scrolltrigger Animations Desktop + Mobile
300*/
301if(document.querySelector('.styled-media')) {
302	$('.styled-media').each(function () {
303	  let triggerElement = $(this);
304	  let targetElementFigureInner = $(this).find('.figure-inner');
305	  let targetElementReveal = $(this).find('.figure-reveal');
306
307	   let tl = gsap.timeline({
308		  scrollTrigger: {
309			trigger: triggerElement,
310			start: "0% 90%",
311			end: "100% 0%",
312			toggleActions: "play none none reset"
313		  }
314	   });
315
316	  if(targetElementReveal.length) {
317		 tl.fromTo(targetElementReveal, {
318			scaleY: 1,
319			rotate: 0.001
320		 },{
321			scaleY: 0,
322			rotate: 0.001,
323			ease: "primary-ease",
324			duration: durationDefault
325		 }, 0);
326	  }
327
328	  if(targetElementFigureInner.length) {
329		 tl.fromTo(targetElementFigureInner, {
330			scale: 1.5,
331			rotate: 0.001
332		 },{
333			scale: 1,
334			rotate: 0.001,
335			ease: "primary-ease",
336			duration: durationDefault
337		 }, 0);
338	  }
339	});
340}

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.