/* Safari 『強制』禁止縮放 ==================================================*/ document.documentElement.addEventListener('touchstart', function(e) { if (e.touches.length > 1) e.preventDefault(); }, false); var lastTouchEnd = 0; document.documentElement.addEventListener('touchend', function(e) { var now = (new Date()).getTime(); if (now - lastTouchEnd <= 300) e.preventDefault(); lastTouchEnd = now; }, false); var script = function() { var $body = $('html,body'); var winH = $(window).height(); var winW = $(window).width(); var $win = $(window); var scrollBottom = $(window).scrollTop() + $(window).height(); var conH = $('.container').height(); var headerH = $('#myheader').height(); var $sec = $('.sec'); var hash = location.hash, href; pageName = ['KV', 'creditcard', 'creditcard', 'samsungcare', 'samsungcare', 'samsungpay', 'galaxystore','footer']; var _thispagescroll = pageName.indexOf(hash); $('.gb-footer-2019__btn-top').click(function() { $body.animate({ scrollTop: 0 }, 600); }) $('.tit').click(function() { var $toggle = $(this).next().attr('toggle'); if ($toggle == "0") { $(this).next().slideUp(); $(this).next().attr('toggle', '1'); $(this).parents('.secTip').find('.icon').addClass('up'); return false; } else { $(this).parents('.secTip').find('.icon.up').removeClass('up'); $(this).next().slideDown(); $(this).next().attr('toggle', '0'); } }) /* nav scroll --------------------------------------------*/ var $sec = $('.sec'); var hash = location.hash, href; /* page scroll */ var thispage = 0; var pagescroll = true; var pageT = [], $sec = $('.sec'), $main = $('.wrapper'), ah = $main.outerHeight(true); var pageReset = function() { pageT = []; winW = $win.outerWidth(); ah = $main.outerHeight(true); $sec.each( function(i, obj) { var t = $(obj).offset().top; pageT.push(t); if (i == $sec.length - 1) { pageT.push(ah); } } ); } var scrollPage = function(wt, whelf) { winH = $win.height(); winW = $win.outerWidth(); wt = $win.scrollTop(); whelf = winH / 6; // _mainTOP = $main.offset().top; for (var p = 0; p < $sec.length; p++) { if (wt > pageT[p] - whelf && wt < pageT[p + 1] - whelf) { thispage = p; } } href = pageName[thispage]; window.location.hash = href; } var scrollthispage = function() { var _pos; _thispagescroll = pageName.indexOf(hash.substr(1)); pageReset(); var topH = $('.myheader2').height(); if (_thispagescroll != -1) { thispage = pageName.indexOf(hash.substr(1)); pageReset(); if (thispage == 0) { TweenMax.to('body,html', .8, { scrollTop: 0, ease: Quart.easeOut }); } else { TweenMax.to('body,html', .8, { scrollTop: pageT[thispage] - topH, ease: Quart.easeOut }); } menuselect(); href = pageName[thispage]; window.location.hash = href; pagescroll = false; } else { TweenMax.to('body,html', .8, { scrollTop: 0, ease: Quart.easeOut }); }; } setTimeout(function() { scrollthispage() }, 600); /* slick ------------------------------------------------------------*/ /* 選單 ------------------------------------------------------------*/ function navde() { $('.burger').attr('toggle', '0'); $('.burger').removeClass('isclick'); TweenMax.to('.navbox', .4, { autoAlpha: 0, zIndex: -1 }); $('.black').removeClass('show'); $body.css({ 'overflow': '' }) if (winW >= 1024) { $('.nav').show(); } else { $('.nav').slideUp(); } } // navde(); $('.burger').click(function() { var menuOpen = $('.burger').attr('toggle'); if (menuOpen == 0) { $('.nav').slideDown(); $('.black').addClass('show'); $('.burger').attr('toggle', '1'); $('.burger').addClass('isclick'); $body.css({ 'overflow': 'hidden' }) } else if (menuOpen == 1) { $('.nav').slideUp(); $('.black').removeClass('show'); $('.burger').attr('toggle', '0'); $('.burger').removeClass('isclick'); $body.css({ 'overflow': '' }) } }); function navfixed() { var _scroll = $(window).scrollTop(); if (_scroll >= 65) { $('#myheader').addClass('fixed'); } else { $('#myheader').removeClass('fixed'); } } // $win.scroll(navfixed); /* lightbox ------------------------------------------------------------*/ // var lightbox = function(){ var $lb = $('.lb'), $lbbox = $('.lbbox'); // var _vdUrl = 'https://www.youtube.com/embed/' var lb_data, lb_data2, lbname, lbname2; // var lbname = 'dest'; TweenMax.set($('.lb'), { opacity: 0, zIndex: -1 }); var lbOpen = function(lb_data) { var lbAni = new TimelineMax(); lbAni.to($('.lb[data-lb="' + lb_data + '"]'), .3, { css: { zIndex: 9999 } }, '-=.3') .to($('.lb[data-lb="' + lb_data + '"]'), .3, { opacity: 1, ease: Linear.easeNone }); if ($('.restart').length) { $('.restart').click(lbClose); } $body.css({ 'overflow': 'hidden', 'position': 'fixed' }) } var lbClose = function(lb_data2) { var lbCloseAni = new TimelineMax(); lbCloseAni.to($('.lb[data-lb="' + lb_data2 + '"]'), .3, { opacity: 0, ease: Linear.easeNone }) .to($('.lb[data-lb="' + lb_data2 + '"]'), .3, { css: { zIndex: -1 } }); // $('.lb').css({'z-index':""}) // $('.lbblack').css({'z-index':""}) $body.css({ 'overflow': '', 'position': '' }) } // lbOpen(lbname); $('.libtn').click(function() { var lbname = $(this).data('lb'); // var ytid = $(this).attr('ytid'); lbOpen(lbname); return false; }); $('.lb .btn_x').click(function() { var rootlbname = $(this).parents('.lb').data('lb'); lbClose(rootlbname) }); // } // lightbox(); /* resize ------------------------------------------------------------*/ var _resize = function() { winW = $win.width(); winH = $win.height(); docH = $(document).height(); _scroll = $(window).scrollTop(); scrollBottom = $(window).scrollTop() + $(window).height(); headerH = $('#myheader').height() + $('header').height(); // payPos = $('#samsungpay').offset().top; // samsungpayscroll(); navde(); // if (pagescroll || winW > 1000) scrollthispage(); } _resize(); $win.scroll(scrollPage); $win.resize(function() { // _resize(); }); var windowHeight = $(window).height(); // Resize Event $(window).resize(function() { // Check window width has actually changed and it's not just iOS triggering a resize event on scroll if ($(window).width() != windowHeight) { // Update the window width for next time windowHeight = $(window).width(); // Do stuff here _resize(); } }); }; $(function() { //$('#myheader').load('include/header.html'); //$('#myfooter').load('include/footer.html'); var imagesLoaded = loading(); imagesLoaded.loadfunc(); imagesLoaded.callback = function() { script(); }; });