$(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);
}