$(function () { // Slider on top $('.sc_swipe_slider_1').each(function () { var element = $(this), item = parseInt(element.attr("data-item")), itemmb = parseInt(element.attr("data-itemmb")), spacing = parseInt(element.attr("data-spacing")); var mySwiper = new Swiper(element.children('.swiper-container'), { slidesPerView: item, spaceBetween: spacing, autoplay: 8000, speed: 1000, loop: true, paginationClickable: true, prevButton: '.swiper-button-prev', nextButton: '.swiper-button-next', pagination: '.swiper-pagination', breakpoints: { 640: { slidesPerView: itemmb, spaceBetween: 0 } } }); }); var $element = $('.list_filter'), $element_tog = $element.find('.tog_filter'), $element_isTog = $element.find('.inner_acc1'), $element_child = $element.find('.tog_filter.child'); var $attr_tog = '[data-accor="title"]', $attr_wrap = '[data-accor="container"]'; var $parent_tog = $element_tog.find($attr_tog), $parent_wrap = $element_isTog.find($attr_wrap), $hide_parents = $parent_wrap.hide(); $element_tog.on('click', function (e) { var $toggle = $(this), $wrap = $toggle.next($attr_wrap); if (!$toggle.next($attr_wrap).length > 0) { $wrap = $toggle.children($attr_wrap); } if ($wrap.length > 0) { if ($toggle.is('.open')) { $wrap.removeClass('open').slideUp(300); $toggle.removeClass('open'); } else { $parent_wrap.removeClass('open').slideUp(300); $parent_tog.removeClass('open'); $wrap.addClass('open').slideDown(300); $element_child.removeClass('open'); $toggle.addClass('open'); } } e.preventDefault(); }); // パラメータを取得 var params = getParameter(); // パラメータをチェックボックスに反映 if (params['scale'] != undefined && params['scale'] != "" && params['scale'] != 'all') { // すべて選択を外す $(".category_list input").eq(0).prop("checked", false); var ary = params['scale'].split("-"); for (var i = 0; i < ary.length; i++) { $('[data-id="' + ary[i] + '"]').prop("checked", true); // data-setが同じものの最初のpropをつける if ($('[data-id="' + ary[i] + '"]').attr("data-set")) { $('[data-set="' + $('[data-id="' + ary[i] + '"]').attr("data-set") + '"]').eq(0).prop("checked", true); } } } else { $(".category_list input").prop("checked", false); $(".category_list input").eq(0).prop("checked", true); } if (params['job'] != undefined && params['job'] != "" && params['job'] != 'all') { // すべて選択を外す $(".industry_list input").eq(0).prop("checked", false); var ary = params['job'].split("-"); for (var i = 0; i < ary.length; i++) { $('[data-id="' + ary[i] + '"]').prop("checked", true); // data-setが同じものの最初のpropをつける if ($('[data-id="' + ary[i] + '"]').attr("data-set")) { $('[data-set="' + $('[data-id="' + ary[i] + '"]').attr("data-set") + '"]').eq(0).prop("checked", true); } } } else { $(".industry_list input").prop("checked", false); $(".industry_list input").eq(0).prop("checked", true); } set_content(); //checkedだったら最初からチェックする $('.list_filter .checkbox_label input[type=checkbox]').each(function () { if ($(this).prop('checked') == true) { $(this).parents('.checkbox_wrap').addClass('is_checked'); } }); //クリックした要素にクラス割り当てる $('.list_filter .checkbox_label input[type=checkbox]').change(function () { // categoryの場合 if ($(".category_list input").index(this) != -1) { // すべての製品 if ($(".category_list input").index(this) == 0) { // すべての製品にチェックがついた時 //if ($(".category_list input").eq(0).prop("checked")) { $(".category_list input").prop("checked", false); $(".category_list input").eq(0).prop("checked", true); //} } else { $(".category_list input").eq(0).prop("checked", false); } // ビジネスプリンター if ($('[data-set="business_printer"]').index(this) == 0) {// サブタイトルが変わった場合 if ($('[data-set="business_printer"]').eq(0).prop("checked")) {// サブタイトルが選択状態になった時 $('[data-set="business_printer"]').prop("checked", true); } else { // サブタイトルが解除されたとき $('[data-set="business_printer"]').prop("checked", false); } } else if ($('[data-set="business_printer"]').index(this) != -1) {// 下層が変わった場合 if ($('[data-set="business_printer"]').eq($('[data-set="business_printer"]').index(this)).prop("checked")) {// 下層が選択状態になった時 $('[data-set="business_printer"]').eq(0).prop("checked", true); } else {// 下層が解除されたとき if ($('[data-set="business_printer"]:checked').length <= 1) {// 下層に選択状態のものがなくなった場合 $('[data-set="business_printer"]').eq(0).prop("checked", false); } } } // ラベルプリンター if ($('[data-set="label_printer"]').index(this) == 0) {// サブタイトルが変わった場合 if ($('[data-set="label_printer"]').eq(0).prop("checked")) {// サブタイトルが選択状態になった時 $('[data-set="label_printer"]').prop("checked", true); } else { // サブタイトルが解除されたとき $('[data-set="label_printer"]').prop("checked", false); } } else if ($('[data-set="label_printer"]').index(this) != -1) {// 下層が変わった場合 if ($('[data-set="label_printer"]').eq($('[data-set="label_printer"]').index(this)).prop("checked")) {// 下層が選択状態になった時 $('[data-set="label_printer"]').eq(0).prop("checked", true); } else {// 下層が解除されたとき if ($('[data-set="label_printer"]:checked').length <= 1) {// 下層に選択状態のものがなくなった場合 $('[data-set="label_printer"]').eq(0).prop("checked", false); } } } // モバイルプリンター if ($('[data-set="mobile_printer"]').index(this) == 0) {// サブタイトルが変わった場合 if ($('[data-set="mobile_printer"]').eq(0).prop("checked")) {// サブタイトルが選択状態になった時 $('[data-set="mobile_printer"]').prop("checked", true); } else {// サブタイトルが解除されたとき $('[data-set="mobile_printer"]').prop("checked", false); } } else if ($('[data-set="mobile_printer"]').index(this) != -1) {// 下層が変わった場合 if ($('[data-set="mobile_printer"]').eq($('[data-set="mobile_printer"]').index(this)).prop("checked")) {// 下層が選択状態になった時 $('[data-set="mobile_printer"]').eq(0).prop("checked", true); } else {// 下層が解除されたとき if ($('[data-set="mobile_printer"]:checked').length <= 1) {// 下層に選択状態のものがなくなった場合 $('[data-set="mobile_printer"]').eq(0).prop("checked", false); } } } // すべてのチェックが外れた場合 if ($(".category_list input:checked").length == 0) { $(".category_list input").eq(0).prop("checked", true); } // すべてのチェックがついた場合 //if ($(".category_list [data-id]").length == $(".category_list [data-id]:checked").length) { // $(".category_list input").eq(0).trigger("click"); //} } // 業種の場合 if ($(".industry_list input").index(this) != -1) { // すべての業種 if ($(".industry_list input").index(this) == 0) { // すべての業種にチェックがついた時 //if ($(".industry_list input").eq(0).prop("checked")) { $(".industry_list input").prop("checked", false); $(".industry_list input").eq(0).prop("checked", true); //} } else { $(".industry_list input").eq(0).prop("checked", false); } // すべてのチェックが外れた場合 if ($(".industry_list input:checked").length == 0) { $(".industry_list input").eq(0).prop("checked", true); } // すべてのチェックがついた場合 //if ($(".industry_list [data-id]").length == $(".industry_list [data-id]:checked").length) { // $(".industry_list input").eq(0).trigger("click"); //} } // チェックボックススタイルの反映 $('.list_filter .checkbox_label input[type=checkbox]').each(function () { if ($(this).prop("checked") == false) { $(this).parents('.checkbox_wrap').removeClass('is_checked'); } else { $(this).parents('.checkbox_wrap').addClass('is_checked'); } }); // パラメータに反映 var category = ""; $(".category_list input").each(function () { if ($(this).prop("checked") && $(this).attr("data-id") != undefined) { if (category == "") { category += $(this).attr("data-id"); } else { category += "-" + $(this).attr("data-id"); } } }); var industry = ""; $(".industry_list input").each(function () { if ($(this).prop("checked") && $(this).attr("data-id") != undefined) { if (industry == "") { industry += $(this).attr("data-id"); } else { industry += "-" + $(this).attr("data-id"); } } }); params['scale'] = category; params['job'] = industry; history.replaceState('', '', setParameter(params)); set_content(); }); // 条件に当てはまるものを表示 function set_content() { var category_list_on = []; $(".category_list input").each(function (i) { if ($(this).prop("checked") && $(this).attr("data-id")) { category_list_on.push($(this).attr("data-id")); } }); var industry_list_on = []; $(".industry_list input").each(function (i) { if ($(this).prop("checked") && $(this).attr("data-id")) { industry_list_on.push($(this).attr("data-id")); } }); $(".list_column .item").removeClass("category_on industry_on").hide(); $(".list_column .item").each(function () { if (category_list_on.length != 0) { var ary = $(this).attr("data-category").split(","); for (var i = 0; i < ary.length; i++) { if (category_list_on.indexOf(ary[i]) != -1) { $(this).addClass("category_on"); } } } else { if ($(".category_list input").eq(0).prop("checked")) { $(this).addClass("category_on"); } } if (industry_list_on.length != 0) { var ary = $(this).attr("data-industry").split(","); for (var i = 0; i < ary.length; i++) { if (industry_list_on.indexOf(ary[i]) != -1) { $(this).addClass("industry_on"); } } } else { if ($(".industry_list input").eq(0).prop("checked")) { $(this).addClass("industry_on"); } } $(".category_on.industry_on").show(); }); // 表示件数を表示 $(".numb").text($(".category_on.industry_on").length); if ($(".category_on.industry_on").length == 0) { $(".no_result").show(); } else { $(".no_result").hide(); } // $(".state span").hide(); if ($(".item").length == $(".item.category_on").length) { $(".category_state .all").show(); } else { $(".category_state .refine").show(); } if ($(".item").length == $(".item.industry_on").length) { $(".industry_state .all").show(); } else { $(".industry_state .refine").show(); } } //パラメータを設定したURLを返す function setParameter(paramsArray) { var resurt = location.href.replace(/\?.*$/, ""); for (key in paramsArray) { resurt += (resurt.indexOf('?') == -1) ? '?' : '&'; resurt += key + '=' + paramsArray[key]; } return resurt; } //パラメータを取得する function getParameter() { var paramsArray = []; var url = location.href; parameters = url.split("#"); if (parameters.length > 1) { url = parameters[0]; } parameters = url.split("?"); if (parameters.length > 1) { var params = parameters[1].split("&"); for (i = 0; i < params.length; i++) { var paramItem = params[i].split("="); paramsArray[paramItem[0]] = paramItem[1]; } } return paramsArray; }; });