$(function(){ smoothscroll.init(); m21(); m41(); m43(); subtabSetting(); $("header").addClass("page"); var $animation_elements = $('.ani'); var $window = $(window); function check_if_in_view() { var window_height = $window.height(); var window_top_position = $window.scrollTop(); var window_bottom_position = (window_top_position + window_height); $.each($animation_elements, function() { var $element = $(this); var element_height = $element.outerHeight(); var element_top_position = $element.offset().top; var element_bottom_position = (element_top_position + element_height); //check to see if this current container is within viewport if ((element_bottom_position >= window_top_position) && (element_top_position <= window_bottom_position)) { $element.addClass('in-view'); } else { //$element.removeClass('in-view'); } }); } $window.on('scroll resize', check_if_in_view); $window.trigger('scroll'); }); smoothscroll = { passive : function(){ var supportsPassive = false; try { document.addEventListener("test", null, { get passive() { supportsPassive = true }}); } catch(e) {} return supportsPassive; }, init : function(){ var $window = $(window); var scrollTime = 1; var distance_offset = 2.5; var scrollDistance = $window.height() / distance_offset; if(this.passive()){ window.addEventListener("wheel",this.scrolling,{passive: true}); }else{ $window.on("mousewheel DOMMouseScroll", this.scrolling); } }, destroy : function(){ if(this.passive()){ window.removeEventListener("wheel",this.scrolling); }else{ $(window).off("mousewheel DOMMouseScroll", this.scrolling); } gsap.killTweensOf($(window),{scrollTo:true}); }, scrolling : function(event){ event.preventDefault(); var $window = $(window); var scrollTime = 1; var distance_offset = 2.5; var scrollDistance = $window.height() / distance_offset; var delta = 0; if(smoothscroll.passive()){ delta = event.wheelDelta/120 || -event.deltaY/3; }else{ if(typeof event.originalEvent.deltaY != "undefined"){ delta = -event.originalEvent.deltaY/120; }else{ delta = event.originalEvent.wheelDelta/120 || -event.originalEvent.detail/3; } } var scrollTop = $window.scrollTop(); var finalScroll = scrollTop - parseInt(delta*scrollDistance); gsap.to($window, { duration: scrollTime, scrollTo : { y: finalScroll, autoKill:true }, ease: 'power3.out', overwrite: 5 }); } }; function m21(){ if(!$(".m00").is(".m21")) return; $(".ani_y").each(function(){ $this = $(this); gsap.to($this,{ y:0, opacity:1, duration:1, scrollTrigger:{ trigger: $this, start: "top 80%", }, }); }); gsap.to(".m21 .section1 .conwrap .fix_con",{ scrollTrigger:{ trigger: ".m21 .section1 .conwrap", start: "top top", end: "bottom bottom", toggleActions: "play none none reverse", pin: true, // pin: ".box1", pinSpacing: false }, }); gsap.to(".m21 .section1 .conwrap .con_text_wrap .con_tit > div .text",{ y:'-50%', duration:2, scrollTrigger:{ trigger: ".m21 .section1 .fix_con", start: "bottom center", end: "bottom top", scrub:true, }, }); gsap.to(".m21 .section1 .conwrap .img_wrap .left_img",{ y:-80, duration:2, scrollTrigger:{ trigger: ".m21 .section1 .fix_con", start: "bottom center", end: "bottom top", scrub:true, }, }); gsap.to(".m21 .section1 .conwrap .img_wrap .right_img",{ y:80, duration:2, scrollTrigger:{ trigger: ".m21 .section1 .fix_con", start: "bottom center", end: "bottom top", scrub:true, }, }); gsap.to(".m21 .section1 .conwrap .img_wrap > div .img1",{ y:-80, opacity:0.5, duration:2, scrollTrigger:{ trigger: ".m21 .section1 .fix_con", start: "bottom center", end: "bottom top", scrub:true, }, }); gsap.to(".m21 .section1 .conwrap .img_wrap > div .img2",{ y:0, duration:2, scrollTrigger:{ trigger: ".m21 .section1 .fix_con", start: "bottom center", end: "bottom top", scrub:true, }, }); var partnerSwiper = new Swiper(".partner_slider", { speed: 600, slidesPerView:'auto', navigation: { nextEl: ".partner_next", prevEl: ".partner_prev", }, }); } function m41(){ if(!$(".m00").is(".m41")) return; var esgSwiper = new Swiper(".esg_slider", { speed: 600, navigation: { nextEl: ".esg_next", prevEl: ".esg_prev", }, pagination: { el: '.esg_pagination', type: 'custom', renderCustom: function (swiper, current, total) { for ( var i = 0; i < 10; i++ ) { return '0'+current+' - 0'+total+''; } } }, }); } function m43(){ if(!$(".m00").is(".m43")) return; smoothscroll.destroy(); } function subtabSetting(){ /* 모바일 서브탭 스크롤 위치 세팅 */ onChk = $(".sub_tab ul li.on").offset().left; onWidth = $(".sub_tab ul li.on").width() - 45; $(".sub_tab").scrollLeft(onChk - onWidth); }