/* 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 = $('header').height();
$('.g-footer-2019__btn-top').click(function () {
$body.animate({
scrollTop: 0
}, 600);
})
/* 配件刪除
------------------------------------------------------------*/
/* 選單
------------------------------------------------------------*/
function navde() {
$('.burger').attr('toggle', '0');
$('.burger').removeClass('isclick');
TweenMax.to('.navbox', .4, {
autoAlpha: 0,
zIndex: -1
});
if (winW >= 1024) {
$('.nav').show();
$('#myheader').find('.container').css({
'background': '#fff'
})
$('body,html').css({
'overflow': '',
'height': ''
})
} else {
$('.nav').slideUp();
// $('#myheader').find('.container').css({
// 'background': '#000'
// })
}
}
navde();
$('.burger').click(function () {
var menuOpen = $('.burger').attr('toggle');
if (menuOpen == 0) {
$('.nav').slideDown();
$('.burger').attr('toggle', '1');
$('.burger').addClass('isclick');
$('body,html').css({
'overflow': 'hidden',
'height': '100vh'
})
// if (winW <= 1024) {
// TweenMax.to($('#myheader').find('.container'), .1, {
// backgroundColor: '#262626',
// ease: Linear.easeNone
// });
// }
} else if (menuOpen == 1) {
$('.nav').slideUp();
$('.burger').attr('toggle', '0');
$('.burger').removeClass('isclick');
$('body,html').css({
'overflow': '',
'height': ''
})
// if (winW <= 1024) {
// TweenMax.to($('#myheader').find('.container'), 1, {
// backgroundColor: '#000',
// ease: Linear.easeNone
// });
// }
}
});
// 內頁選單select
var thispage = $('body').data('p');
function navselect(){
$('#myheader').find('.nav').find('li[data-p="' + thispage + '"]').addClass('select');
}
navselect()
//選單改變顏色
if ($('.rule-how').length) {
$('._Note20ultra .capacities label').on('click', function () {
$('._Note20ultra #note20ultracolor2').prop("checked", true);
})
$('._Note20 .capacities label').on('click', function () {
$('._Note20 #note20color3').prop("checked", true);
})
$('._Galaxys22 .capacities label').on('click', function () {
$('._Galaxys22 #galaxys22color3').prop("checked", true);
})
}
/* 訂單選項
------------------------------------------------------------*/
$('.shoplist').find('li').removeClass('select');
$('.shoplist').find('li').click(function () {
$('.shoplist').find('li').removeClass('select');
$(this).addClass('select');
})
/* step1 選擇產品規格
------------------------------------------------------------*/
// 顏色
var imgpath = 'cdn/images/phone/';
$s22ultra_512g = ['black', 'white', 'red', 'green'];
$s22ultra_256g = ['black', 'white', 'red', 'green'];
$s22plus_256g = ['black2', 'white2', 'pink2', 'green2'];
$s22plus_128g = ['white2', 'pink2', 'green2'];
$s22_256g = ['black3', 'white3', 'pink3', 'green3'];
$s22_128g = ['white3', 'pink3', 'green3']
$tab_s8ultra_512g = ['black3', 'silver3'];
$tab_s8ultra_256g = ['black3', 'silver3'];
$tab_s8plus_512g = ['black4', 'silver4'];
$tab_s8plus_256g = ['black4', 'silver4'];
$('.step1').find('.choose').each(function () {
var ptName = 1;
reloadDataimg()
function reloadDataimg() {
if (ptName == 1) {
$(".pcolor").each(function () {
$(this).attr('data-img', $(this).data('pt1img'))
});
} else if (ptName == 2) {
$(".pcolor").each(function () {
$(this).attr('data-img', $(this).data('pt2img'))
});
} else if (ptName == 3) {
$(".pcolor").each(function () {
$(this).attr('data-img', $(this).data('pt3img'))
});
} else if (ptName == 4) {
$(".pcolor").each(function () {
$(this).attr('data-img', $(this).data('pt4img'))
});
} else if (ptName == 5) {
$(".pcolor").each(function () {
$(this).attr('data-img', $(this).data('pt5img'))
});
}
}
$(this).find('dt,dd').click(function () {
var phoneimg = $(this).data('img');
var phoneId = $(this).data('pdname');
var phoneCapa;
$('.phoneimg').attr('src', imgpath + phoneimg + ".png");
$('.phoneimg').parent('.main_phone').css({
"width": "90%",
"transform": "translateX(0)",
"padding-left": "10%"
});
// 類型
if ($(this).hasClass('product')) {
pageName = $(this).data('page')
if (pageName == "phonetype") {
$('.phonetype').fadeIn().eq(0).trigger('click');
$('.tabtype').hide();
} else {
$('.phonetype').hide();
$('.tabtype').fadeIn().eq(0).trigger('click');
}
reloadDataimg()
}
// 型號
if ($(this).hasClass('phonetype') || $(this).hasClass('tabtype')) {
ptName = $(this).data('pt')
$('.pcapa').hide().removeClass('select');
$('.capa-' + phoneId).removeClass('hide').fadeIn().eq(0).trigger('click');
reloadDataimg()
}
// 容量&顏色
if ($(this).hasClass('pcapa')) {
ptName = $(this).data('pt')
phoneCapa = $(this).data('capa');
$('.pcolor').hide().removeClass('select');
reloadDataimg()
switch (phoneCapa) {
case 's22ultra_512g':
$.each($s22ultra_512g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $s22ultra_512g[0]).addClass('select')
break;
case 's22ultra_256g':
$.each($s22ultra_256g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $s22ultra_256g[0]).addClass('select')
break;
case 's22plus_256g':
$.each($s22plus_256g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $s22plus_256g[0]).addClass('select')
break;
case 's22plus_128g':
$.each($s22plus_128g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $s22plus_128g[0]).addClass('select')
break;
case 's22_256g':
$.each($s22_256g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $s22_256g[0]).addClass('select')
break;
case 's22_128g':
$.each($s22_128g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $s22_128g[0]).addClass('select')
break;
case 'tab_s8ultra_512g':
$.each($tab_s8ultra_512g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $tab_s8ultra_512g[0]).addClass('select')
break;
case 'tab_s8ultra_256g':
$.each($tab_s8ultra_256g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $tab_s8ultra_256g[0]).addClass('select')
break;
case 'tab_s8plus_512g':
$.each($tab_s8plus_512g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $tab_s8plus_512g[0]).addClass('select')
break;
case 'tab_s8plus_256g':
$.each($tab_s8plus_256g, function (i, item) {
$('.' + item).removeClass('hide').fadeIn();
});
$('.' + $tab_s8plus_256g[0]).addClass('select')
break;
}
}
if (!$(this).hasClass('disabled')) {
$(this).parent().find('dt,dd').removeClass('select');
$(this).addClass('select');
}
})
})
/* step3 確認填寫資料
------------------------------------------------------------*/
// 活動辦法
$('.step3 input').click(function () {
$(this).attr("checked", true);
})
$('.step3 .allfinish').click(function () {
// mail錯誤
var my_mail = $('.step3 .mail dd').text();
var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
// 身分證錯誤
var my_id = $('.step3 .id dd').text();
var countyCode = my_id.charCodeAt(0);
// 未勾選活動辦法
var my_check = $('.step3 .checkall input[name=check]');
var all_check = [];
my_check.each(function () {
all_check.push($(this).attr('checked'));
})
if (emailRegxp.test(my_mail) != true) {
lbOpen('error');
$('.lb-error .txt').html('您輸入的E-mail格式有誤!
請重新輸入!')
return false;
} else if (my_id.length != 10) {
lbOpen('error');
$('.lb-error .txt').html('您輸入的身分證字號有誤!
請重新輸入!')
return false;
} else if (countyCode < 65 | countyCode > 90) {
lbOpen('error');
$('.lb-error .txt').html('您輸入的身分證字號有誤!
請重新輸入!')
return false;
} else if (all_check.length == "3") {
var che_ = $.inArray(undefined, all_check);
if (che_ == "-1") {
} else {
lbOpen('error');
$('.lb-error .txt').html('請勾選同意本活動辦法!')
return false;
}
}
lbOpen('remind');
});
/* step5 首日提醒
------------------------------------------------------------*/
$('.lb-reserve .chooseday select').click(function () {
var my_choos = $(this).val();
if (my_choos == "2") {
$(this).closest('.chooseday').nextUntil('.no_open').addClass('hide');
$('.lb-reserve .no_open').removeClass('hide');
$('.lb-reserve .btnbox ').addClass('hide');
} else {
$(this).closest('.chooseday').nextUntil('.no_open').removeClass('hide');
$('.no_open').addClass('hide');
$('.lb-reserve .btnbox ').removeClass('hide');
}
})
/* step5 確認送出
------------------------------------------------------------*/
$('.lb-reserve .choosefinish').click(function () {
$(this).closest('.form').addClass('hide');
$(this).closest('.form').next().removeClass('hide');
})
/* step5 重新預約
------------------------------------------------------------*/
$('.lb-reserve .reserve_reset').click(function () {
$(this).closest('.reserve_finish').addClass('hide');
$(this).closest('.reserve_finish').prev().removeClass('hide');
})
/* result 重新預約
------------------------------------------------------------*/
$('#rebooking').click(function () {
$(this).closest('.inner').addClass('hide');
$(this).closest('.inner').next().removeClass('hide');
})
/* result 確認送出
------------------------------------------------------------*/
$('.lb-done .choosefinish').click(function () {
$(this).closest('.form').addClass('hide');
$(this).closest('.form').prev().removeClass('hide');
})
/* result 首日提醒
------------------------------------------------------------*/
$('.lb-done .form select').click(function () {
var my_choos = $(this).val();
if (my_choos == "2") {
$(this).closest('.chooseday').nextUntil('.no_open').addClass('hide');
$('.lb-done .no_open').removeClass('hide');
$('.lb-done .btnbox ').addClass('hide');
} else {
$(this).closest('.chooseday').nextUntil('.no_open').removeClass('hide');
$('.no_open').addClass('hide');
$('.lb-done .btnbox ').removeClass('hide');
}
})
/* QA
------------------------------------------------------------*/
$('.qna').find('.box').each(function () {
$(this).click(function () {
$(this).toggleClass('isopen');
if ($(this).hasClass('isopen')) {
$(this).find('.txt').slideDown();
} else {
$(this).find('.txt').slideUp();
}
})
})
/* 活動辦法切換 -----------------------------------------------------*/
$('.storebuy .maintab .bt').eq(0).addClass('select');
$('.storebuy .inner').eq(0).show();
$('.storebuy .maintab .bt').click(function () {
var _ind = $(this).data('tab');
$('.storebuy .maintab .bt').removeClass('select');
$('.storebuy .maintab .bt[data-tab="' + _ind + '"]').addClass('select');
$('.storebuy .inner').fadeOut('fast');
$('.storebuy .inner[data-inner="' + _ind + '"]').fadeIn('fast',function () {
var pos = [];
$(this).find('.listing').find('.one').each(function (i, obj) {
var t = $(obj).offset().top;
pos.push(t);
})
// console.log(pos);
$(this).find('.subtab').find('li').click(function () {
var cur = $(this).index();
TweenMax.to('body,html', .8, { scrollTop: pos[cur] , ease: Quart.easeOut });
})
});
})
function promoSubscroll() {
$('.storebuy .inner').each(function () {
var pos = [];
$(this).find('.listing').find('.one').each(function (i, obj) {
var t = $(obj).offset().top;
pos.push(t);
})
// console.log(pos);
$(this).find('.subtab').find('li').click(function () {
var cur = $(this).index();
TweenMax.to('body,html', .8, { scrollTop: pos[cur] , ease: Quart.easeOut });
})
})
}
promoSubscroll();
/* 取消原因
------------------------------------------------------------*/
$('.lb-reason .selectbox select').click(function () {
$('.lb-reason .main').addClass('open');
});
/* 熱銷通路切換 -----------------------------------------------------*/
var thisPath = 1,
prevPath = '',
$btn_tab = $('.soldout .tabbox .tab');
var pathPagechange = function () {
if (thisPath !== prevPath) $('.soldout .btnlist').css({
'opacity': 0,
'z-index': -1,
'height': 0
})
$('.soldout .btnlist[data-list="' + thisPath + '"]').css({
// 'opacity':1,
'height': 'auto',
'z-index': 1
})
var pathAni = new TimelineMax();
pathAni.to($('.soldout .btnlist[data-list ="' + thisPath + '"]'), .3, {
css: {
opacity: 1,
height: 'auto'
},
ease: Linear.easeNone
});
$btn_tab.removeClass('select');
$btn_tab.eq(thisPath - 1).addClass('select');
prevPath = thisPath;
}
pathPagechange(thisPath);
$btn_tab.click(function () {
var $this = $(this);
if ($this.hasClass('js-justLink')) return;
thisPath = $this.index();
pathPagechange();
});
// tab切換效果
$btn_tab.click(function () {
var _ind = $(this).index() - 1,
_w = $(this).outerWidth(true);
if (_ind === 2) return;
TweenMax.to($(this).parent().find('.ovr'), .3, {
left: _ind * _w,
ease: Quart.easeInOut
});
})
/* promo ------------------------------------------------------------*/
// 主選切換
var thisS4 = 0,
prevS4 = '',
$btn_sec4 = $('.promobox .tabbox .tab');
var sec4Pagechange = function () {
if (thisS4 !== prevS4) $('.promobox .inner').fadeOut(0);
$('.promobox .inner[data-inner ="' + thisS4 + '"]').fadeIn(500);
$btn_sec4.removeClass('select');
$btn_sec4.eq(thisS4).addClass('select');
prevS4 = thisS4;
}
sec4Pagechange(thisS4);
$btn_sec4.click(function () {
thisS4 = $(this).index();
sec4Pagechange();
});
//副選單
$('.promobox .inner').each(function () {
$(this).find('.submenu').find('li').each(function () {
$(this).click(function () {
var _ind = $(this).index();
var _thispos = $(this).closest('.inner').find('.listing').find('.one').eq(_ind).offset().top;
$body.animate({
scrollTop: _thispos
}, 600);
})
})
})
var hash = location.hash;
if ($('#promo').length) {
var promoPos = $('#promo').offset().top;
}
function promoscroll() {
if (hash != '' && hash == '#promo') {
TweenMax.to('body,html', .8, {
scrollTop: promoPos,
ease: Quart.easeOut
});
}
if (hash != '' && hash == '#promo_1') {
TweenMax.to('body,html', .8, {
scrollTop: promoPos,
ease: Quart.easeOut
});
thisS4 = 0;
sec4Pagechange(thisS4);
}
if (hash != '' && hash == '#promo_2') {
TweenMax.to('body,html', .8, {
scrollTop: promoPos,
ease: Quart.easeOut
});
thisS4 = 1;
sec4Pagechange(thisS4);
}
if (hash != '' && hash == '#promo_3') {
TweenMax.to('body,html', .8, {
scrollTop: promoPos,
ease: Quart.easeOut
});
thisS4 = 2;
sec4Pagechange(thisS4);
}
}
promoscroll();
/* 配件頁
------------------------------------------------------------*/
// 金額試算區塊
$('.aps').find('.detail').find('.listline').each(function(){
$(this).find('.del').click(function(){
$(this).closest('.listline').hide();
})
})
$('.aps').find('.detail').find('.listline.group').each(function(){
$(this).find('.del').click(function(){
$(this).closest('.box1').find('.listline.group').hide();
})
})
// 選擇顏色
$('.aps').find('.allcolor').find('p').removeClass('select');
if( !$('.aps#disable').length ){
$('.aps').find('.allcolor').each(function () {
$(this).find('p').click(function () {
$(this).siblings().removeClass('select');
$(this).toggleClass('select');
// $(this).parent('.allcolor').find('p').removeClass('select');
// $(this).addClass('select');
})
})
}
// 回選購
$('.aps').find('.bottomarea').find('.btn_back').click(function () {
var _pos = $('.apsCon').offset().top;
$body.animate({
scrollTop: _pos
}, 600);
})
// 到試算
$('.aps').find('.fixbtn').click(function () {
var _pos = $('.bottomarea').offset().top;
$body.animate({
scrollTop: _pos
}, 600);
})
/* lightbox
------------------------------------------------------------*/
var $lb = $('.lb'),
$lbbox = $('.lbbox');
var lb_data,
lb_data2,
lbname,
lbname2;
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': ''
})
}
var lbOpen2 = function (lb_data) {
var lbAni = new TimelineMax();
lbAni.to($('.lb2[data-lb2="' + lb_data + '"]'), .3, {
css: {
zIndex: 9999
}
}, '-=.3')
.to($('.lb2[data-lb2="' + 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'), .3, {
opacity: 0,
ease: Linear.easeNone
})
.to($('.lb'), .3, {
css: {
zIndex: -1
}
});
$body.css({
'overflow': '',
'position': ''
})
}
var lbClose2 = function (lb_data2) {
var lbCloseAni = new TimelineMax();
lbCloseAni.to($('.lb2'), .3, {
opacity: 0,
ease: Linear.easeNone
})
.to($('.lb2'), .3, {
css: {
zIndex: -1
}
});
$body.css({
'overflow': '',
'position': ''
})
}
// lbOpen('complete');
$('.libtn').click(function () {
var lbname = $(this).data('lb');
lbOpen(lbname);
return false;
});
$('.libtn2').click(function () {
var lbname = $(this).data('lb2');
lbOpen2(lbname);
return false;
});
$('.lb .btn_x,.lb .btnClose').click(function () {
lbClose();
});
$('.lb .btn_ok').click(function () {
lbClose();
});
// 配件刪除
$('.lb-detail').find('.listline').each(function(){
$(this).find('.del').click(function(){
$(this).closest('.listline').hide();
})
})
$('.lb-detail').find('.listline.group').each(function(){
$(this).find('.del').click(function(){
$(this).closest('.box1').find('.listline.group').hide();
})
})
/* resize
------------------------------------------------------------*/
var _resize = function () {
winW = $win.width();
winH = $win.height();
docH = $(document).height();
_scroll = $(window).scrollTop();
scrollBottom = $(window).scrollTop() + $(window).height();
headerH = $('header').height();
// promoPos = $('#promo').offset().top;
promoscroll();
navde();
}
_resize();
$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', function() {
// if ($('.wrapper').hasClass('com')) {
// $('#myheader').find('.nav').find('ul').find('li:nth-child(2)').hide();
// $('#myheader').find('.nav').find('ul').find('li:nth-child(3)').hide();
// $('#myheader').find('.nav').find('ul').find('li:nth-child(6)').hide();
// }
//});
//$('#myheader').load('cdn/include/header.html');
//$('#myfooter').load('cdn/include/footer.html');
// script();
var imagesLoaded = loading();
imagesLoaded.loadfunc();
imagesLoaded.callback = function () {
script();
};
});