$(document).on('click', 'a[href="#none"]', function(e) {
e.preventDefault();
});
//기본js
function startJs(){
$(document).on('click', 'a[href="#none"]', function(e) {e.preventDefault()});
if($('html').is('.ie67, .ie7, .ie8, .ie9')) {
$('div.ie_alert_text').show().html('현재 사이트는 IE9 미만의 하위브라우저를 지원하지 않습니다.
브라우저를 최신 버전으로 업데이트해 주세요.');
}
WebFont.load({google: {families: ['Noto Sans KR', 'Montserrat']}});
}
function popup() {
//레이어팝업
var bg = $("#bg");
$(document).on('click',' #bg, .close ', function () {
bg.fadeOut();
$('div[id*="-popup"] div.inner').html('');
$('div[id*="-popup"]').hide();
});
$(document).on('click','.layer-',
function () {
var ClassName = $(this).data('link');
bg.show();
$('#layer-popup').show();
$('#layer-popup').html(
'
'+
''+
'
'
);
//foot 메뉴 클릭시
switch (ClassName) {
case "privacy1":
$("#layer-popup div.inner").load("/_privacy1.php");
break;
case "terms":
$("#layer-popup div.inner").load("/_terms.php");
break;
}
}); //click
}
$(function(){
headerJS();
startJs();
//popup();
smoothscroll.init();
var $topBtn = $('.top_btn');
$topBtn.on('click',function(){
gsap.to(window, {duration: .4,scrollTo:0,ease: 'power3.out'});
});
$topBtn.fadeOut();
$(window).scroll(function(){
if($(this).scrollTop() > 100){
$topBtn.fadeIn(300);
}else {
$topBtn.fadeOut(300);
}
checkOffset();
});
});
function headerJS(){
$("#wrap header #nav .gnb>li").mouseover(function(){
$("#wrap header #nav .gnb>li .lnb").stop().slideUp(200).removeClass("on");
$(this).find(".lnb").stop().slideDown(300).addClass("on");
});
$("#wrap header #nav .gnb>li").mouseleave(function(){
$("#wrap header #nav .gnb>li .lnb").stop().slideUp(200).removeClass("on");
});
$("body").addClass("close");
$("button.menu_btn").click(function(){
$("body").toggleClass("all");
if($("body").hasClass("all")){
$("body").removeClass("close");
}else {
$("body").addClass("close");
}
});
}
function checkOffset() {
var a=$(document).height()-$(window).height();
var b=$('#footer').height();
scroll = $(window).scrollTop();
if (scroll > a-b) {
$(".top_btn").css("position","absolute").css("bottom",b + 20);
}else {
$(".top_btn").css("position","fixed").css("bottom",20);
}
}
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: false});
}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
});
/*const headerFix = gsap.from('header', {
yPercent: -100,
paused: true,
duration: 0.5
}).progress(1);
ScrollTrigger.create({
start: "top top",
end: "1000000%",
toggleClass: {className: 'scroll', targets: 'header'},
onUpdate: (self) => {
self.direction === -1 ? headerFix.play() : headerFix.reverse()
}
});*/
var $motion_img = $('.motion-image');
$motion_img.find('[data-scroll]').each(function(){
var $this = $(this);
var lerp = $this.attr('data-scroll-delay');
var speed = $this.attr('data-scroll-speed');
var dist = ($this.outerHeight()/100)*(parseFloat(speed)*14);
gsap.fromTo($this, {
y: dist
}, {
y: -(dist),
ease: 'none',
force3D: true,
scrollTrigger: {
trigger: $this,
scrub: parseFloat(lerp)
}
});
});
}
};