$(document).ready(function () { /*$('.filterbox').ontouchmove = function(event){ event.preventDefault(); } var _window = $(window); var _body = $('body'); var change_1023 = 0; if(_window.width() <= 1023 && change_1023 != 1023){ change_1023 = 1023; $('#filtercontrol-2,#filtercontrol-3,#filtercontrol-4').prop('checked',true); }else if(_window.width() > 1023 && change_1023 != 1200){ change_1023 = 1200; } var clickbutton=0; $('.filter-button,.filterbox .close').on('click',function(){ console.log('filter click') clickbutton++; if(clickbutton==1){ $('.filterbox').css({'top':'50px'}); } if(clickbutton==2){ $('.filterbox').css({'top':'-100%'}); clickbutton=0; } });*/ }); // ========================================================== // 商品大小格切換 // ========================================================== ;(function($) { $('.switch-group').on('click', '.switch-item', function(e) { const targetClass = $(this).data('target') $(this).addClass('now').siblings('.switch-item').removeClass('now') $('#Main_Content').removeAttr('class').addClass('content items-list').addClass(targetClass) }) })($) // ========================================================== // 篩選器 // ========================================================== ;(function($){ $(document).on("click", ".cleanButton", function(){ let item = $(".filter-item"), wrapper = $(".filter-wrapper") item.removeClass("open-sub") wrapper.removeClass("filter-open") $("body").removeClass("overflow-hidden") }) function clickBlank(e){ let item = $(".filter-item"), wrapper = $(".filter-wrapper"), target = $(e.target) if(target.parents(".filter-item").length == 0){ item.removeClass("open-sub") wrapper.removeClass("filter-open") $(document).off("click", clickBlank) $("body").removeClass("overflow-hidden") } } $(document).on("click",".filter-wrapper .filter-title", function(){ let item = $(this).parents(".filter-item"), wrapper = $(this).parents(".filter-wrapper") if(item.hasClass("open-sub")){ item.removeClass("open-sub") wrapper.removeClass("filter-open") $("body").removeClass("overflow-hidden") $(document).off("click", clickBlank) }else{ $(".filter-item").removeClass("open-sub") item.addClass("open-sub") wrapper.addClass("filter-open") $(document).on("click", clickBlank) if($(window).width() > 575){ $("html,body").animate({ scrollTop : $(".filter-wrapper").offset().top }, 500) if($(window).width() < 1200){ $("body").addClass("overflow-hidden") } } } }) $(document).on("click", ".filter-wrapper .subgroup-header", function(){ let parent = $(this).parents(".filter-item"), wrapper = $(this).parents(".filter-wrapper") parent.removeClass("open-sub") wrapper.removeClass("filter-open") $("body").removeClass("overflow-hidden") }) $(document).on("click", ".filter-wrapper .filter-search-btn", function(){ //目前點選項會直接搜尋 $(".filter-wrapper").removeClass("filter-open") $(".filter-item").removeClass("open-sub") $("body").removeClass("overflow-hidden") }) //篩選後重載篩選器 const search_ids = {} $("#filter-content").find(".filter-item").each(function(group_index,group_element){ //初始化 $(this).find(".search_item").each(function (index,element_item){ //沒有打勾跳過 if( !$(element_item).hasClass("search_focus")){return ;} //標記打勾的篩選器 const groupID = $(group_element).data("id"); const itemID = $(element_item).attr("search_id"); search_ids[groupID] = (search_ids[groupID])? search_ids[groupID]: [] search_ids[groupID].push(itemID); }); }); $(document).on("click", ".filter-wrapper .search_item,.cleanButton,.subCleanButton", function(){ const _this = $(this) let last_item_id = '' let keysArray = Object.keys(search_ids) if(_this.hasClass("search_item")){ // 開關篩選項目 const groupID = String(_this.parents(".filter-item").data("id")) last_item_id = groupID const itemID = _this.attr('search_id') search_ids[groupID] = (search_ids[groupID])? search_ids[groupID]: [] const searchIndex = search_ids[groupID].findIndex(element => element === itemID) keysArray = Object.keys(search_ids) if(searchIndex !== -1) { search_ids[groupID].splice(searchIndex, 1) } else { search_ids[groupID].push(itemID) } } else if(_this.hasClass('subCleanButton')) { // 清除該分類篩選項目 const groupID = String(_this.parents(".filter-item").data("id")) search_ids[groupID].length = 0 } else if(_this.hasClass('cleanButton')) { // 清除所有篩選器 keysArray.forEach(element => { search_ids[element].length = 0 }) } // 建立POST用陣列 const postArray = [] if(keysArray.length) { keysArray.forEach(element => { postArray.push(...search_ids[element]) }) } // console.log(search_ids) // console.log(postArray) $.ajax({ url: Project_Country + "/products/ajax/list/ajax_get_top_filter.php", type:"POST", async: true, data:{ Type: 'search', Sub_Pattern_IDs: postArray, Last_Item_ID: last_item_id, }, error:function(d){ alert(d.responseText); }, success:function(d){ // console.log(search_ids, last_item_id) $('#filter-content').html(d) } }); }) })($)