$(function () {
$(".menu_class_a, .menu_sub_a").mouseover(function () {
var pic = $(this).attr('pic');
var url = $(this).attr('url');
var href = (url) ? url : 'javascript:;';
var h = (pic) ? '
' : '';
$(this).parents('.item-subitembox').find('.picbox').html(h);
});
$(".menu_sub_a").mouseout(function () {
var pic = $(this).parents('.nav-item').find('.menu_class_a').attr('pic');
var url = $(this).parents('.nav-item').find('.menu_class_a').attr('url');
var href = (url) ? url : 'javascript:;';
var h = (pic) ? '
' : '';
$(this).parents('.nav-item').find('.item-subitembox').children('.picbox').html(h);
});
$("#Select_This_Country").on("click", "li", function () {
$.post('/ajax/ajax_change_country.php', {
ID: $(this).attr('sid')
}, function (h) {
if (typeof updatePage == "function") {
updatePage();
return false;
}
if (h) {
window.location.reload();
}
}, 'html');
});
$('.lazyimg').lazyload({
effect: 'fadeIn',
});
$("body").on("click", ".rack_detail", function () {
var sid = $(this).attr("store_sid");
var serial_no = $(this).attr("serial");
var flag = $(this).attr("data_id");
var box = $(this);
if (!sid) {
sid = $(this).attr("sid");
}
if (sid && flag != sid) {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
$.ajax({
url: '/products/ajax/detail/ajax_get_mobile_data.php',
type: 'POST',
async: false,
data: {
lat: position.coords.latitude,
lng: position.coords.longitude,
serial_no: serial_no
},
error: function (d) {
alert(d.responseText);
},
success: function (d) {
box.attr('data_id', sid);
$("#stockCheck").find(".modal-content").html(d);
}
});
}, function () {
$.ajax({
url: '/products/ajax/detail/ajax_get_mobile_data.php',
type: 'POST',
async: false,
data: {
serial_no: serial_no
},
error: function (d) {
alert(d.responseText);
},
success: function (d) {
box.attr('data_id', sid);
$("#stockCheck").find(".modal-content").html(d);
}
});
if (typeof handleLocationError == 'function') {
handleLocationError(true, infoWindow, map.getCenter());
}
});
} else {
console.log('error');
// Browser doesn't support Geolocation
if (typeof handleLocationError == 'function') {
handleLocationError(true, infoWindow, map.getCenter());
}
}
}
});
//門市資料
$("body").on('change', '.stock-drop', function () {
$('.CityList').hide();
$('.Main-City' + $(this).val()).show();
});
var _window = $(window);
var _body = $('body');
var change_1023 = 0;
var nav_item = $('#menu-nav .nav-item');
var scroll_switch = true;
scroll_switch = nav_censor(scroll_switch);
var body_padding = 121;
var body_padding_s = 40;
var userAgent = navigator.userAgent;
/* 回頁首 */
$('.gotop').on('click', function () {
$("html,body").animate({
scrollTop: 0
}, 800);
});
//上方廣告
var button = 0;
$('.top_adbox_button').on('click', function () {
if (_window.width() <= 1023) {
$(".top_adbox").remove();
if (button == 1) button--;
} else {
if (button == 0) {
$(".top_adbox").css('height', 'auto');
$('.top_adbox .fa').removeClass('fa-plus').addClass('fa-times');
$('.top_adbox .inner').stop().animate({
'max-height': '100vh'
}, 1000, function () {
button++;
});
} else {
$('.top_adbox .fa').removeClass('fa-times').addClass('fa-plus');
$('.top_adbox .inner').stop().animate({
'max-height': 0
}, 1000, function () {
button--;
});
}
}
});
var change = 0;
//noisePop();
/* 手機平板 */
if (_window.width() <= 1024 || $(".header-01").hasClass("theme-act")) {
//上方廣告
if ($('.top_adbox').attr('tag-status') == '1') {
$('.top_adbox .fa').removeClass('fa-plus').addClass('fa-times');
$(".top_adbox").show();
};
//天邊會員登入
var member_click_n = 0;
$('.shopbox span.fa-user').on('click', function () {
if (member_click_n == 0) {
member_click_n = 1;
$('.userbox').addClass('open');
} else {
member_click_n = 0;
$('.userbox').removeClass('open');
}
});
var language_click_n = 0;
$('.language_t').on('click', '.wrapper ', function () {
if (language_click_n == 0) {
language_click_n = 1;
$('.language_t').addClass('open');
} else {
language_click_n = 0;
$('.language_t').removeClass('open');
}
});
//天邊會員登入
var language_click_n = 0;
$('#language').on('click', '.wrapper ', function () {
if (language_click_n == 0) {
language_click_n = 1;
$('#language').addClass('open');
} else {
language_click_n = 0;
$('#language').removeClass('open');
}
});
//menu開合
$('#menu-nav .hover').removeClass('hover');
if (/Windows/i.test(userAgent)) {
// console.log(`device1`)
$('#menu-nav').on('click', '.item-title', function (e) {
var n = $(this).parent(".open").length;
$('#menu-nav .nav-item').removeClass('open');
$('#menu-nav .menu-item').removeClass('open-sub');
if (n == 0) {
$(this).parent(".nav-item").addClass('open');
}
menuOpenStyle('#menu-nav a.item-title')
}).on(' click', '.subtitle', function () {
var n = $(this).parent(".open-sub").length;
$('#menu-nav .menu-item').removeClass('open-sub');
if (n == 0) {
$(this).parent(".menu-item").addClass('open-sub');
}
});
} else {
// console.log(`device2`)
$('#menu-nav').on('click', '.item-title', function (e) {
console.log(e.currentTarget)
var n = $(this).parent(".open").length;
var t = $(this).attr("type");
if (t == '') {
$('#menu-nav .nav-item').removeClass('open');
$('#menu-nav .menu-item').removeClass('open-sub');
$(".subitembox").removeClass('open-sub');
if (n == 0) {
$(this).parent(".nav-item").addClass('open');
}
} else {
$('#menu-nav .nav-item').removeClass('open');
$('#menu-nav .menu-item').removeClass('open-sub');
$(".subitembox").removeClass('open-sub');
if (n == 0) {
$(this).parent(".nav-item").find("#subitembox" + t).addClass('open-sub');
$(this).parent(".nav-item").addClass('open');
}
}
menuOpenStyle('#menu-nav a.item-title')
}).on(' click', '.subtitle', function () {
var n = $(this).parent(".open-sub").length;
$('#menu-nav .menu-item').removeClass('open-sub');
if (n == 0) {
$(this).parent(".menu-item").addClass('open-sub');
}
});
}
} else {
//上方廣告
if ($('.top_adbox').attr('tag-status') == '1') {
$(".top_adbox").show();
$(".top_adbox_button").trigger('click');
};
}
/* 手機 */
if (_window.width() <= 480 && change_1023 != 480) {
change_1023 = 480;
body_padding = 50;
/* 平板 */
} else if (_window.width() > 480 && _window.width() <= 1024 && change_1023 != 1024) {
change_1023 = 1023;
body_padding = 75;
body_padding_s = 50;
nav_item.find('.subitem').attr('type', 'checkbox');
/* 電腦 */
} else if (_window.width() > 1023 && change_1023 != 1200) {
change_1023 = 1200;
body_padding = 121;
body_padding_s = 40;
//天邊會員登入hover下拉
$('.shopbox span.fa-user').on('mouseenter', function () {
$('.userbox').addClass('open');
});
//天邊購物車hover下拉
$(document).on('mouseenter', 'body:not(.hidden-store) .shopbox #Shop_Cart_Total', function () {
$("#Header_Shopcart").load('/ajax/ajax_get_cart.php', '');
$('.shopping-cartbox').addClass('open');
});
$('.shopbox').on('mouseleave', function () {
var _this_user = $(this).find('.userbox'),
_this_shop = $(this).find('.shopping-cartbox');
if (_this_user.length == 1) {
$('.userbox').removeClass('open');
} else if (_this_shop.length == 1) {
$('.shopping-cartbox').removeClass('open');
}
});
}
let windowScroll = 0,
isChangeClass = false
_window.on('scroll', throttle(function (event) {
var scrollTop = _window.scrollTop()
if (scrollTop > 0) {
$(".gotop").css("opacity", "1");
$("body").addClass('is-sticky');
} else {
$(".gotop").css("opacity", "0");
$("body").removeClass('is-sticky');
}
//向上滑
if (!isChangeClass) {
if (windowScroll > scrollTop) {
isChangeClass = true
$("body").addClass('is-upwards');
} else {
isChangeClass = true
$("body").removeClass('is-upwards');
}
setTimeout(function () {
isChangeClass = false
}, 150)
}
windowScroll = scrollTop
}, 100));
_window.trigger('scroll')
var time_id;
_window.on('resize', function () {
clearTimeout(time_id);
time_id = setTimeout(nav_censor(scroll_switch), 500);
_window = $(window);
if (_window.width() <= 1023 && change_1023 == 1200) {
//上方廣告
// $('.top_adbox .fa').removeClass('fa-plus').addClass('fa-times');
$('.top_adbox_button').on('click', function () {
$('.top_adbox').remove();
});
$('.shopbox span.fa-user,.shopbox .fa-shopping-cart').off('mouseenter');
//天邊會員登入
var member_click_n = 0;
$('.shopbox span.fa-user').on('click', function () {
if (member_click_n == 0) {
member_click_n = 1;
$('.userbox').addClass('open');
} else {
member_click_n = 0;
$('.userbox,.shopping-cartbox').removeClass('open');
}
});
$('.shopbox').off('mouseleave');
}
if (_window.width() <= 480 && change_1023 != 480) {
change_1023 = 480;
body_padding = 50;
var scrollTop = _window.scrollTop();
} else if (_window.width() > 480 && _window.width() <= 1023 && change_1023 != 1023) {
change_1023 = 1023;
body_padding = 75;
body_padding_s = 50;
var scrollTop = _window.scrollTop();
nav_item.find('.subitem').attr('type', 'checkbox');
} else if (_window.width() > 1023 && change_1023 != 1200) {
change_1023 = 1200;
body_padding = 121;
body_padding_s = 40;
var scrollTop = _window.scrollTop();
nav_item.find('.subitem').attr('type', 'radio');
$('.shopbox span.fa-user').off('click');
//天邊會員登入
$('.shopbox span.fa-user').on('mouseenter', function () {
$('.userbox').addClass('open');
});
//天邊購物車hover下拉
$('.shopbox .fa-shopping-cart').on('mouseenter', function () {
$("#Header_Shopcart").load('/ajax/ajax_get_cart.php', '');
$('.shopping-cartbox').addClass('open');
});
$('.shopbox').on('mouseleave', function () {
$('.userbox,.shopping-cartbox').removeClass('open');
});
//移除menu開合事件
$('#menu-nav').off('click', '.item-title').off('click', '.subtitle');
}
});
function nav_censor(scroll_switch) {
if (scroll_switch) {
for (var i = 1; i < nav_item.length; i++) {
if (nav_item.eq(i).find('h3').height() > 45 || nav_item.eq(i).find('a.item-title').height() > 45) {
nav_item.eq(i).addClass('nav-item-big');
scroll_switch = false;
}
}
}
return scroll_switch;
}
var nav_n = false;
$('.menu-b').on('click', function () {
if (!nav_n) {
nav_n = true;
$('body').addClass('overflow-hidden').addClass('open-nav')
} else {
nav_n = false;
$('body').removeClass('overflow-hidden').removeClass('open-nav')
}
});
$('.navBox').on('click', function (e) {
if (e.target === e.currentTarget) {
nav_n = false;
$('body').removeClass('overflow-hidden').removeClass('open-nav')
}
});
$('.close-menu').on('click', function (e) {
nav_n = false;
$('body').removeClass('overflow-hidden').removeClass('open-nav')
});
$('.footer_menu').on('click', '.menu-item', function () {
$(this).addClass('open');
});
$('.footer_menu').on('click', '.open', function () {
$(this).removeClass('open');
});
$("#Noise_Pop").on("click", ".fa-times", function (e) {
e.preventDefault();
$.ajax({
url: "/ajax/ajax_get_noisePop.php",
type: "POST",
cache: false,
async: false,
data: {
Type: 'Cancel'
},
success: function (d) {
$("#Noise_Pop").remove();
}
});
});
$(".HITS_BT").on("click", function (e) {
e.preventDefault();
if ($.isNumeric($(this).attr('hid')) && $.isNumeric($(this).attr('hdid'))) {
var hid = $(this).attr('hid');
var hdid = $(this).attr('hdid');
var url = $(this).attr('href');
var target = $(this).attr('target');
$.ajax({
url: "/ajax/ajax_add_ad_hits-p.php",
type: "POST",
cache: false,
async: false,
data: {
Hid: hid,
Hdid: hdid
},
success: function (d) {
if (url) {
if (target == '_blank') {
window.open(url);
} else if ((typeof target === 'undefined') || (target == '')) {
window.location = url;
} else {}
}
}
});
} else {
alert(_jsLang.這是錯誤的連結);
}
});
//點擊清空輸入框
$(".CLEAR_INPUT").one("click", function () {
$(this).attr('placeholder', '');
});
//語系選擇
$("#Select_This_Lang").on("click", "li", function () {
$.post('/ajax/ajax_change_language.php', {
Name: $(this).attr('sid')
}, function (h) {
window.location.reload();
}, 'html');
});
//語系選擇
$("#Select_This_Lang3").on("click", "a", function () {
let pageShopId = $("#Page_Shop_ID").val();
$.ajax({
url: "/ajax/ajax_change_language.php",
type: "POST",
cache: false,
async: false,
data: {
Name: $(this).attr('sid'),
PageShopId: pageShopId
},
success: function (d) {
window.location.reload();
}
});
});
if ($(".rosetta-products.theme-carousel").length > 0) {
$(".rosetta-products.theme-carousel").owlCarousel({
nav: true,
responsive: {
0: {
items: 2,
margin: 16,
stagePadding: 30
},
768: {
items: 4,
margin: 16,
},
}
})
}
});
function PDA_AddToCart(Serial_No) {
window.dotq = window.dotq || [];
window.dotq.push({
'projectId': '10000',
'properties': {
'pixelId': '10095723',
'qstrings': {
'et': 'custom',
'ea': 'AddToCart',
'product_id': Serial_No,
}
}
});
window.dotq = window.dotq || [];
window.dotq.push({
'projectId': '10000',
'properties': {
'pixelId': '10146549',
'qstrings': {
'et': 'custom',
'ea': 'AddToCart',
'product_id': Serial_No,
}
}
});
}
function Rosetta_AddToCart(Pos_No) {
if (Pos_No && typeof rosetta == 'function') {
const param = {
type: 'select',
target: Pos_No
};
rosetta('event', param);
console.log('rosetta.event.select');
console.log(param);
console.log(123);
}
}
function Avivid_AddToCart(Datas) {
if (Datas) {
var num = Datas.length;
var string = '';
for (i = 0; i < num; i++) {
string += '[' + Datas[i] + '],';
}
console.log(string.substring(0, string.length - 1));
if (typeof AviviD == 'function') {
setTimeout(function () {
AviviD.analysis(1, [string.substring(0, string.length - 1)]);
}, 5000);
}
}
}
function Avivid_StartCart(Datas) {
if (typeof AviviD == 'function') {
setTimeout(function () {
AviviD.analysis(2, [Datas]);
}, 5000);
}
}
function Avivid_Purchase(Datas) {
if (typeof AviviD == 'function') {
setTimeout(function () {
AviviD.analysis(3, [Datas]);
}, 5000);
}
}
function SAYA_AddToCart() {
var noscript = '';
$("#SAYA_noscript").append(noscript);
var axel = Math.random() + "";
var a = axel * 10000000000000;
$("#SAYA_Div").append('
');
}
//結帳
function SAYA_Purchase() {
var noscript = '';
$("#SAYA_noscript").append(noscript);
var axel = Math.random() + "";
var a = axel * 10000000000000;
$("#SAYA_Div").append('
');
}
//訂單完成
function SAYA_OrderSuccess() {
var noscript = '';
$("#SAYA_noscript").append(noscript);
var axel = Math.random() + "";
var a = axel * 10000000000000;
$("#SAYA_Div").append('
');
}
//訂單完成頁
function SAYA_ShopcartOrder() {
var noscript = '';
$("#SAYA_noscript").append(noscript);
var axel = Math.random() + "";
var a = axel * 10000000000000;
$("#SAYA_Div").append('
');
}
function Set_Box_Files(_item, $this, d) {
if (d.R_Name) _item.find(".box_name").html(d.R_Name);
if (d.Color) _item.find(".colorbox").html(d.Color);
if (d.Color_Name) {
_item.find(".box_color").html('顏色 / ' + d.Color_Name);
}
if (d.Prod_No) {
_item.find(".prodnoBox").html(d.Prod_No);
}
if (d.Size_Name) {
_item.find(".box_size").html('尺寸 / ' + d.Size_Name);
}
if (d.Size_Button) _item.find(".sizebox").html(d.Size_Button);
if (d.Max_Stock) {
//if(d.Max_Stock > 10){d.Max_Stock=10}
_item.find(".amountBox").attr('max', d.Max_Stock);
_item.find(".amountBox").val('1');
}
if (d.Price2) _item.find(".font-delete").html(d.Price2);
if (d.R_Price) _item.find(".font-big").html('NT$' + d.R_Price);
for ($i = 1; $i <= 3; $i++) {
if (d.Button[$i]) _item.find(".Add_Button" + $i).html(d.Button[$i]);
}
if (d.ID) {
_item.find(".stock-icon").attr("sid", d.ID);
_item.find(".wishButton").attr("sid", d.ID);
_item.find(".Add_Reservation_List").attr("sid", d.ID);
}
if (d.Box_Pic) {
let picWrapper = _item.find(".bounce-product-left")
picWrapper.empty()
picWrapper.append('')
_item.find(".picbox").html(d.Box_Pic).owlCarousel({
items: 1,
nav: false,
dots: true
})
window.dispatchEvent(new Event('resize'))
}
if (d.Serial_No) {
$(".rack_detail").attr('serial', d.Serial_No);
$("#Serial_No").val(d.Serial_No)
}
if (d.sale_tag) {
_item.find(".sale-tag-box").removeClass("hide").html(d.sale_tag);
} else {
_item.find(".sale-tag-box").addClass("hide").empty()
}
$("#pdlist-addToCart").trigger("changeSpec")
}
// ==========================================================
// tags toggle
// ==========================================================
;
(function ($) {
function log(obj) {
console.log(obj)
}
$('body').on('click', '.tags-toggle', function (e) {
$(this).parents('.search-modal').toggleClass('tags-active');
})
})($)
// ==========================================================
// search toggle
// ==========================================================
;
(function ($) {
function log(obj) {
console.log(obj)
}
function stepCheck(step, target, className) {
if (step) {
$('body').addClass('theme-stock')
target.addClass(className)
let searchTopHeight = $(".search-top").height()
$('.search-modal').find(".item-wrapper").height("calc(80vh - " + (searchTopHeight + 20) + "px)")
} else {
$('body').removeClass('theme-stock')
target.removeClass(className)
}
}
let searchStep = 0
$('body').on('click', '.search-button', function (e) {
searchStep = 1
stepCheck(searchStep, $('.search-modal'), 'in-active')
})
$('body').on('click', '.search-modal .modal-closer', function (e) {
searchStep = 0
stepCheck(searchStep, $('.search-modal'), 'in-active')
})
})($)
// ==========================================================
// 商品圖輪播
// ==========================================================
$(function () {
let _window = $(window)
function productImgCarousel() {
if ($("body").hasClass('hidden-store')) {
$(".product-img-carousel").each(function () {
let _this = $(this)
_this.owlCarousel({
items: 1,
nav: false,
dots: true
})
})
} else {
if (_window.width() <= 1024) {
$(".product-img-carousel").each(function () {
let _this = $(this)
_this.owlCarousel({
items: 1,
nav: false,
dots: true
})
})
} else {
$(".product-img-carousel").each(function () {
$(this).trigger("destroy.owl.carousel")
})
}
}
}
productImgCarousel()
_window.on("resize", productImgCarousel)
})
// ==========================================================
// modal toggle
// ==========================================================
;
(function ($) {
//跳窗開關
$("body").on('click', '.open-modal:not(.detail-link)', function (e) {
e.preventDefault();
$(this).parents('.modal-layer').removeClass('in-active')
var sid = $(this).attr('sid'),
special_flag = $(this).attr('special_flag');
let is_rosetta = $(this).attr('is_rosetta') ?? 0;
$.ajax({
url: '/ajax/ajax_get_shopbox.php',
type: "POST",
cache: false,
async: true,
dataType: 'json',
data: {
sid: sid,
special_flag: special_flag,
is_rosetta
},
error: function (d) {
alert(d.responseText);
},
success: function (d) {
let wrapper = $("#pdlist-addToCart")
if (d.dataLayer_Data) {
window.dataLayer = window.dataLayer || [];
var dataLayer_products = [];
dataLayer_products.push({
'no': d.dataLayer_Data['no'],
'series': '',
'pos': d.dataLayer_Data['pos'],
'name': d.dataLayer_Data['name'],
'price': '',
'category': '',
'tags': d.dataLayer_Data['tags'],
'list': '',
'quantity': '',
'brand': '',
'variant': '',
'position': ''
});
dataLayer.push({
'productsPopup': {
'member_id': d.dataLayer_Data['member_id'],
'products': dataLayer_products
}
});
}
wrapper.html(d.Data);
wrapper.find(".picbox").owlCarousel({
items: 1,
nav: false,
dots: true
})
window.dispatchEvent(new Event('resize'))
}
});
var type = $(this).data('target');
switch (type) {
case "#socialShare":
$("#Share_Box").html($(this).parents('.outer-item').find('.Share_Content').html());
break;
case "#pdlist-addToCart":
$("#Spec_Box").html($(this).parents('.outer-item').find('.Spec_Content').html());
break;
}
if (type !== '#stockCheck') {
$('.modal-layer').removeClass('in-active');
}
$(type).addClass('in-active');
});
$(document).on('click', '.open-modal-simple', function (e) {
e.preventDefault();
console.log("aaa")
var type = $(this).data('target');
$(type).addClass('in-active');
});
$("#pdlist-addToCart").on('click', ".box-item", function () {
var _item = $(this).parents("#pdlist-addToCart"),
SID = $(this).attr('sid'),
$this = $(this);
//橘標商品用
var Orange_Flag = $("#Orange_Flag_Box").val();
var data = {
SID: SID,
Orange_Flag: Orange_Flag,
Special_Flag: $("#Popup_Special_Flag").val()
};
if (SID) {
$.ajax({
url: '/products/ajax/common/ajax_get_prod_item.php',
type: "POST",
cache: false,
async: false,
data: data,
dataType: 'json',
error: function (d) {
alert(d.responseText);
},
success: function (d) {
Set_Box_Files(_item, $this, d);
}
});
}
});
//數量
$("#pdlist-addToCart").on("click", ".fa.fa-plus", function () {
var amount = $(this).prev(".amountBox").val(),
max = $(this).prev(".amountBox").attr("max");
if (amount == '無庫存') {
return false;
}
var amount = parseInt(amount);
if (amount + 1 > max) {
$(this).prev(".amountBox").val(max);
} else {
$(this).prev(".amountBox").val(amount + 1);
}
});
$("#pdlist-addToCart").on("click", ".fa.fa-minus", function () {
var amount = $(this).next(".amountBox").val();
if (amount == '無庫存') {
return false;
}
var amount = parseInt(amount);
if (amount - 1 <= 1) {
$(this).next(".amountBox").val(1);
} else {
$(this).next(".amountBox").val(amount - 1);
}
});
//wishList
$("#pdlist-addToCart").on("click", ".wishButton", function () {
var _item = $(this).parents("#pdlist-addToCart"),
SID = _item.find('.wishButton').attr('SID');
alert(SID);
$.ajax({
url: '/products/ajax/common/ajax_add_wish_list.php',
type: "POST",
cache: false,
async: false,
dataType: 'json',
data: {
SID: SID
},
error: function (d) {
alert(d.responseText);
},
success: function (d) {
if (d.Msg == 'OK') {
if (d.FBQ) {
eval(d.FBQ);
}
$(".fa-heart" + SID).addClass('red');
$(".wishButton" + SID).addClass('red').addClass('in-withlist');
if (d.dataLayer_Data) {
window.dataLayer = window.dataLayer || [];
var dataLayer_products = [];
dataLayer_products.push({
'no': d.dataLayer_Data['no'],
'series': '',
'pos': d.dataLayer_Data['pos'],
'name': d.dataLayer_Data['name'],
'price': '',
'category': '',
'tags': d.dataLayer_Data['tags'],
'list': '',
'quantity': '',
'brand': '',
'variant': '',
'position': ''
});
dataLayer.push({
'addWishListProduct': {
'member_id': d.dataLayer_Data['member_id'],
'products': dataLayer_products
}
});
}
alert(_jsLang.新增成功);
} else if (d.Msg == 'NO_MEMBER') {
alert(_jsLang.請先登入會員);
} else {
alert(_jsLang.資料庫忙線中);
}
}
});
});
//加入購物車按鈕
$("#pdlist-addToCart").on("click", ".add_to_cart", function () {
var _item = $(this).parents("#pdlist-addToCart"),
SID = $(this).attr('sid') || 0,
num = _item.find(".amountBox").val() || 0;
if (SID == 0) {
alert(_jsLang.請選擇尺寸或規格);
} else if (num == 0) {
alert(_jsLang.請選擇數量);
} else {
var data = 'SID=' + SID + '&num=' + num + '&webcacheno=' + $('#webcacheno').val();
var act_id = $("#Act_ID").val();
var act_type = $("#Act_Type").val();
if (act_id && act_type) {
data += "&Act_ID=" + act_id + "&Act_Type=" + act_type;
}
$.ajax({
url: '/ajax/ajax_add_to_cart.php',
type: "POST",
cache: false,
async: false,
data: data,
dataType: 'json',
error: function (d) {
alert(d.responseText);
},
success: function (d) {
if (d.Amount) _item.find(".amountBox").html(d.Amount);
$(".shop-num").html(d.Total);
if (d.Total == "0") {
$(".shop-num").addClass("theme-zero")
} else {
$(".shop-num").removeClass("theme-zero")
}
alert(d.Alert);
if (d.Alert == '加入購物車成功') {
if (d.FBQ) {
eval(d.FBQ);
PDA_AddToCart(d.IDs2);
}
if (d.GA4 && typeof gtag == 'function') {
for (var key in d.GA4) {
gdata={
"send_to":"currentMall",
"currency":"TWD",
"user_id":d.all_events['user_id'],
"custom_sys_id":d.all_events['custom_sys_id'],
"custom_pos_number":d.all_events['custom_pos_number'],
"custom_line_id":d.all_events['custom_line_id'],
"items":d.GA4
};
if(gdata["custom_line_id"] == null){
delete gdata[["custom_line_id"]];
}
gtag("event","add_to_cart",gdata);
}
}
//GOOGLE DATALAYER
if (d.dataLayer_Data) {
window.dataLayer = window.dataLayer || [];
var dataLayer_products = [];
for (var i = 0; i < d.dataLayer_Data['no'].length; i++) {
dataLayer_products.push({
'no': d.dataLayer_Data['no'][i],
'series': d.dataLayer_Data['series'][i],
'pos': d.dataLayer_Data['pos'][i],
'name': d.dataLayer_Data['name'][i],
'price': d.dataLayer_Data['price'][i],
'category': d.dataLayer_Data['category'][i],
'tags': d.dataLayer_Data['tags'][i],
'list': '',
'quantity': d.dataLayer_Data['quantity'][i],
'brand': d.dataLayer_Data['brand'][i],
'variant': d.dataLayer_Data['variant'][i],
'position': d.dataLayer_Data['position'][i]
});
}
dataLayer.push({
'addCartProducts': {
'member_id': d.dataLayer_Data['member_id'],
'products': dataLayer_products
}
});
}
if (d.addPrice && typeof gtag == 'function') {
gtag('event', 'conversion', {
'send_to': 'AW-17016521597/trVSCO30tLwaEP2GjrI_',
'value': d.addPrice,
'currency': 'TWD'
});
}
let IsHide = d.IsHide ?? false;
$.ajax({
url: "/ajax/ajax_get_cart.php",
type: "POST",
async: false,
cache: false,
data: {
Type: 'Prod',
ID: SID
},
success: function (d) {
if (!IsHide) {
$(".shopping-cartbox").css('display', 'none');
$("#Header_Shopcart_Prod").html(d);
$("#Header_Shopcart_Prod").parent(".one-cartbox").animate({
'opacity': 1,
'maxHeight': '999px'
}).css('z-index', '100');
setTimeout(function () {
$("#Header_Shopcart_Prod").parent(".one-cartbox").animate({
'maxHeight': '0px',
'opacity': 0
}, function () {
$(this).removeAttr('style');
$(".shopping-cartbox").removeAttr('style');
});
}, 3000);
}
}
})
Rosetta_AddToCart(d.IDs3);
// SAYA_AddToCart();
Avivid_AddToCart(d.IDs4);
//有在購物車頁加入商品,重整頁面
pathname = window.location.pathname.split('/');;
act = pathname[1];
if (act == 'shopcart') {
location.reload();
}
}
}
});
}
});
$("#pdlist-addToCart").on("click", ".Add_Reservation_List", function () {
var SID = $(this).attr('sid') || 0;
if (SID == 0) {
alert(_jsLang.請選擇尺寸或規格);
} else {
$.ajax({
url: '/ajax/ajax_reservation_list.php',
type: "POST",
cache: false,
async: false,
data: {
SID: SID,
Type: "Add"
},
dataType: 'json',
error: function (d) {
alert(d.responseText);
},
success: function (d) {
alert(d.Alert);
}
});
}
});
//跳窗關閉按鈕
$('.modal-layer').on('click', '.modal-closer,.add_to_cart', function (e) {
const $parent = $(this).parents('.modal-layer')
$parent.removeClass('in-active');
if ($parent.attr('id') === 'productDetail') {
$parent.find('.modal-title, .modal-content').empty()
}
});
//跳窗外側關閉
$('.modal-layer').on('click', function (e) {
if (e.target === e.currentTarget && !$(e.target).hasClass("close-disabled")) {
$(this).removeClass('in-active');
}
});
})($)
// ==========================================================
// 開啟加入試衣籃跳窗
// ==========================================================
;
(function ($) {
let canOpen = true
$(document).on('click', '.FittingBasket', function (e) {
e.preventDefault();
var sid = $(this).attr('sid');
$.ajax({
url: '/ajax/ajax_get_shopbox.php',
type: "POST",
cache: false,
async: true,
dataType: 'json',
data: {
sid: sid,
fit: '1'
},
error: function (d) {
alert(d.responseText);
},
success: function (d) {
if (d.dataLayer_Data) {
window.dataLayer = window.dataLayer || [];
var dataLayer_products = [];
dataLayer_products.push({
'no': d.dataLayer_Data['no'],
'series': '',
'pos': d.dataLayer_Data['pos'],
'name': d.dataLayer_Data['name'],
'price': '',
'category': '',
'tags': d.dataLayer_Data['tags'],
'list': '',
'quantity': '',
'brand': '',
'variant': '',
'position': ''
});
dataLayer.push({
'productsPopup': {
'member_id': d.dataLayer_Data['member_id'],
'products': dataLayer_products
}
});
}
$('#pdlist-addToCart').html(d.Data)
.addClass('in-active')
.find(".picbox").owlCarousel({
items: 1,
nav: false,
dots: true
})
window.dispatchEvent(new Event('resize'))
}
});
})
})($)
;
(function ($) {
$('.tabs-wrapper').on('click', '.tabs-button', function (e) {
$(this).parent('.tabs-wrapper').toggleClass('in-click');
})
})($)
// ==========================================================
// 搜尋框篩選關鍵字
// ==========================================================
;
(function ($) {
let searchCarouselParam = {
nav: true,
dots: false,
autoWidth: true,
responsive: {
0: {
margin: 8,
},
768: {
margin: 10,
},
}
}
const keywordListBox = $(".keyword-list-box").clone()
function Search_Tag(keywords) {
let modal = $(".search-modal")
let showTags = []
if (!!keywords) {
//搜尋子標籤
$(".sub-tag-group .sub-tag-item").each(function () {
let subTag = $(this)
let tagGroup = subTag.parent(".sub-tag-group")
let subContent = subTag.text()
if (subContent.toLowerCase().indexOf(keywords) !== -1) {
if (!showTags.includes(tagGroup.data("index"))) {
showTags.push(tagGroup.data("index"))
}
subTag.removeClass("hide")
} else {
subTag.addClass("hide")
}
})
//篩選出有對應關鍵字的主tag並重新渲染
reGeneTagList(showTags)
} else {
//沒有關鍵字就還原
$(".sub-tag-group .sub-tag-item").removeClass("hide")
reGeneTagList()
}
}
function reGeneTagList(showTags = null) {
let listBox = keywordListBox.clone()
if (showTags) {
listBox.find("[data-target]").each(function () {
let _this = $(this)
let target = _this.data("target")
if (!showTags.includes(target)) {
_this.parents(".keyword-item").remove()
}
})
}
$(".keyword-list-box").empty()
$(".keyword-list-box").html(listBox.html())
$(".keyword-list").owlCarousel(searchCarouselParam).trigger("refresh.owl.carousel")
let firstBtn = $(".keyword-list").find(".owl-item").eq(0).find(".keyword-btn")
firstBtn.addClass("in-active")
$(".sub-tag-group").removeClass("in-active")
$(".sub-tag-group[data-index='" + firstBtn.data("target") + "']").addClass("in-active")
getSearchProduct($(".keyword-btn.in-active").data("id"), $(".sub-tag-group.in-active .sub-tag-item:not(.hide)").eq(0).data("sub-id"))
}
let searchKeyword = $(".keyword-list")
let searchTimeout
if (searchKeyword.find(".keyword-item").length > 0) {
searchKeyword.owlCarousel(searchCarouselParam)
}
$(document).on('input', '#Top_Search #keywords', function (e) {
clearTimeout(searchTimeout)
searchTimeout = setTimeout(function () {
const thisKeywords = $("#Top_Search #keywords").val().trim().toLowerCase()
//console.log(thisKeywords)
Search_Tag(thisKeywords)
}, 1000)
})
//切換tag
getSearchProduct($(".keyword-btn.in-active").data("id"))
$(document).on("click", ".search-modal .keyword-btn", function () {
let _this = $(this)
let target = _this.data("target")
$(".search-modal .keyword-btn").removeClass("in-active")
_this.addClass("in-active")
$(".sub-tag-group").removeClass("in-active")
$(".sub-tag-group[data-index='" + target + "']").addClass("in-active")
sub = $(".sub-tag-group[data-index='" + target + "']").find(".sub-tag-item").siblings().not('.hide');
getSearchProduct(_this.data("id"), sub.data("sub-id"))
})
$(document).on("click", ".search-modal .sub-tag-item", function () {
getSearchProduct($(".keyword-btn.in-active").data("id"), $(this).data("sub-id"))
})
function getSearchProduct(tag = "", subTag = "") {
$.ajax({
url: "/ajax/ajax_get_search_popup_products.php",
type: "POST",
data: {
tag: tag,
subtag: subTag
},
error: function (d) {
alert(d.responseText);
},
success: function (d) {
$(".search-modal .item-box").html(d);
}
})
}
})($)
function throttle(func, delay) {
let timeoutId
return function (...args) {
if (!timeoutId) {
timeoutId = setTimeout(function () {
func.apply(this, args)
timeoutId = null
}, delay)
}
}
}
;
(function ($) {
//tag more
function tagHeightCheck() {
$(".tag-box").each(function () {
let box = $(this)
console.log(box.height())
console.log(box[0].scrollHeight)
//+3避免小誤差 -20為展開的padding
if (box.hasClass("theme-overflow")) {
if (box.height() + 3 >= box[0].scrollHeight - 20) {
box.removeClass("theme-overflow")
}
} else {
if (box.height() + 3 < box[0].scrollHeight) {
box.addClass("theme-overflow")
}
}
})
}
tagHeightCheck()
$(window).on("resize", function () {
tagHeightCheck()
})
$(document).on("click", ".tag-toggle-btn", function () {
let _this = $(this)
let box = _this.parents(".tag-box")
if (box.hasClass("in-open")) {
box.removeClass("in-open")
_this.html(`看更多 `)
} else {
box.addClass("in-open")
_this.html(`收闔 `)
}
})
})($)
// ==========================================================
// 協助 iOS 系統註冊 :active 事件
// ==========================================================
;
(function ($) {
document.body.addEventListener('touchstart', function () {})
})($)
function menuOpenStyle(element) {
$(element).each((i, item) => {
const nowColor = $(item).attr('color')
console.log(`check style`)
if ($(item).parent('div').hasClass('open') && $(window).width() <= 1024) {
$(item).css({
"color": "#fff",
"background-color": nowColor
}).siblings('.item-title').css({
"color": "#fff",
"background-color": nowColor
})
} else {
$(item).css({
"color": nowColor,
"background-color": 'transparent'
}).siblings('.item-title').css({
"color": nowColor,
"background-color": 'transparent'
})
}
})
}
$(function () {
// 主選單顏色設定 //
menuOpenStyle('#menu-nav a.item-title')
// 全站跑馬燈輪播 //
if ($(".marquee-list .marquee-list-item").length > 1) {
$(".marquee-list").owlCarousel({
nav: false,
dots: false,
autoplay: true,
items: 1,
loop: true,
autoplayTimeout: 3000,
autoplayHoverPause: true,
autoplaySpeed: 1000,
animateOut: 'slideOutUp',
animateIn: 'slideInUp',
})
}
// 跑馬燈倒數
$('.marquee-list.theme-countdown .marquee-list-link').each((i, item) => {
if(!!$(item).data('limit')) {
const limitTime =$(item).data('limit')
console.log(limitTime)
timerCountdown(item, limitTime)
}
})
function timerCountdown(item, limitDate) {
const limitTime = limitDate
const untilLimit = limitDate * 1000 - Date.now()
const remainHour = Math.floor(Math.floor(Math.floor(untilLimit / 1000) / 60) / 60)
const remainMinute = Math.floor(Math.floor(untilLimit / 1000) / 60) % 60
const remainSecond = Math.floor(untilLimit / 1000) % 60
$(item).find('.marquee-clock-hour').text(padZeroNumber(remainHour))
.end().find('.marquee-clock-minute').text(padZeroNumber(remainMinute))
.end().find('.marquee-clock-second').text(padZeroNumber(remainSecond))
setTimeout(timerCountdown, 500, item, limitDate);
}
function padZeroNumber(number) {
let returnNumber = Number(number)
if(returnNumber < 10) {
returnNumber = '0' + returnNumber
}
return String(returnNumber)
}
})