$(window).load(function(){ /* --- カート関連 --- */ var $jsCart = $('#js-cart'), $jsCalendarTable = $('#js-calendar-table'), $jsMonthSelect = $('#js-month-select'), cartFlg = false, monthSelectFlg = false, windowWidth = $(window).width(), windowHeight = $(window).height(), targetWidth = 801; var mainPaddingTopSet = function() { var wh = window.innerHeight ? window.innerHeight: $(window).height(), h = $jsCart.outerHeight(); $('main').css('padding-top',h + 'px'); $jsCart.find('div').css('height','auto'); if(wh <= h) { $jsCart.find('div').css('height','400px'); } } mainPaddingTopSet(); if (windowWidth >= targetWidth) { /* pc */ } else { /* smt */ //他の月を選ぶ $jsMonthSelect.find('.select').on('click', function(){ if(monthSelectFlg) { monthSelectFlg = false; $(this).text('他の月を選ぶ'); } else { monthSelectFlg = true; $(this).text('閉じる'); } $(this).next().slideToggle(); return false; }); //時間選択のモーダル表示 $jsCalendarTable.find('td a').on('click', function(){ var p = $('footer').offset().top; $("html, body").animate({ scrollTop: p }); $('footer').css('display','none'); $(this).parent().addClass('selected'); $jsCart.css('display','none');//カート閉じる $("html,body").css('overflow','hidden');//スクロール無効 $("main").on('touchmove.noScroll', function(e) { e.preventDefault(); }); $(".midasi2.mincho").css('display','none'); return false; }); //時間選択のモーダル非表示 $jsCalendarTable.find('td a.close, td .modal-bg').on('click', function(){ $jsCalendarTable.find('td').removeClass('selected'); $('footer').css('display','block'); $jsCart.css('display','block');//カート閉じる $("html,body").css('overflow','visible');//スクロール有効 $("main").off('.noScroll'); $(".midasi2.mincho").css('display','block'); return false; }); //時間選択のモーダル翌日クリック $jsCalendarTable.find('td a.next').on('click', function(){ $jsCalendarTable.find('td').removeClass('selected'); var next = $(this).closest('td').next(); //console.table(next); console.log(next.data('date')); next.addClass('selected'); return false; }); //時間選択のモーダル前日クリック $jsCalendarTable.find('td a.prev').on('click', function(){ $jsCalendarTable.find('td').removeClass('selected'); var prev = $(this).closest('td').prev(); //console.table(prev); console.log(prev.data('date')); prev.addClass('selected'); return false; }); ////時間選択のモーダル○クリック //$jsCalendarTable.find('td a.ok').on('click', function(){ // var class_str = $(this).attr('class'); // var class_ary = class_str.split(' '); // var caution = ''; // for (var i = 0; i < class_ary.length; i++) { // console.log(class_ary[i]); // if (cautions[class_ary[i]]) { // caution = cautions[class_ary[i]]; // break; // } // } // var modal_select = $('#js-selectModal ul.select'); // var modal_ok = $('#js-selectModalOk'); // var href = $(this).attr('href'); // if (caution == '' && !modal_select.length) { // location.href = href; // } else { // // モーダルのデータにhref追加 // modal_ok.data('href', href); // } // console.log(href); // return false; //}); } /* 共通 */ $jsCalendarTable.find('td .detail a.ng').on('click', function(){ //console.log("test") return false; }); //時間選択のモーダル○クリック $jsCalendarTable.find('td a.ok').on('click', function(){ var class_str = $(this).attr('class'); var class_ary = class_str.split(' '); var caution = ''; for (var i = 0; i < class_ary.length; i++) { console.log(class_ary[i]); if (cautions[class_ary[i]]) { caution = cautions[class_ary[i]]; break; } } var modal_select = $('#js-selectModal ul.select'); var modal_ok = $('#js-selectModalOk'); var href = $(this).attr('href'); var is_tel = $(this).hasClass('tel'); if ((caution == '' && !modal_select.length) || is_tel) { location.href = href; } else { // モーダルのデータにhref追加 modal_ok.data('href', href); } console.log(href); return false; }); //カートの開閉処理 $jsCart.find('.bt').on('click', function(){ if(cartFlg) { cartFlg = false; $(this).removeClass('open'); } else { cartFlg = true; $(this).addClass('open'); } $(this).prev().slideToggle(function(){ mainPaddingTopSet(); }); return false; }); //common.jsから必要な部分のみ抜粋 headerY = 0; $(window).on('load scroll', function() { if( $(this).width() >= 784 ){ }else{ $('.main_image').css("margin-top", "0"); if( $(this).scrollTop() > headerY ){ $('.page_bottom_links').addClass('on'); if( ($('body').height() - $('address').height() - $(this).height() - 60 ) < $(this).scrollTop() ){ $('.page_bottom_links').css("-webkit-transform", "translate(0,-30px)"); $('.page_bottom_links').css("transform", "translate(0,-30px)"); }else{ $('.page_bottom_links').css("-webkit-transform","translate(0,0)"); $('.page_bottom_links').css("transform","translate(0,0)"); } }else{ $('.page_bottom_links').css("-webkit-transform",""); $('.page_bottom_links').css("transform",""); $('.page_bottom_links').removeClass('on'); } } }); //■■■■ スムーズアンカー ■■■■ // #で始まるアンカーをクリックした場合に処理 $('a[href^="\\#"]').on("click", function() { // スクロールの速度 var speed = 500; // ミリ秒 // アンカーの値取得 var href= $(this).attr("href"); // 移動先を取得 var target = $(href == "#" || href == "" ? 'html' : href); // 移動先を数値で取得 var position = target.offset().top; // スムーススクロール $('body,html').animate({scrollTop:position}, speed, 'swing'); return false; }); //■■■■ ページトップ ■■■■ var pagetop = $('#page-top'); pagetop.hide(); $(window).scroll(function() { if ($(this).scrollTop() > 200) { pagetop.fadeIn(); if( ($('body').height() - $('footer').height() - $(this).height() - 30 ) < $(this).scrollTop() ){ pagetop.css("bottom", ( $(this).scrollTop() - $('body').height() + $('footer').height() + $(this).height() + 30 ) + "px"); }else{ pagetop.css("bottom","20px"); } } else { pagetop.fadeOut(); } }); /* カラー選択&cautions */ var $targetModal = $("#js-selectModal"); var $targetModalCancel = $("#js-selectModalCancel"); var $targetModalOk = $("#js-selectModalOk"); var $targetModalSelect = $('#js-selectModal ul.select'); if ($targetModal.length) { $('.calendar-table').find('a.ok').on('click', function(){ var class_str = $(this).attr('class'); var class_ary = class_str.split(' '); var caution = ''; for (var i = 0; i < class_ary.length; i++) { console.log(class_ary[i]); if (cautions[class_ary[i]]) { caution = cautions[class_ary[i]]; break; } } //console.table(cautions); var is_tel = $(this).hasClass('tel'); if ((caution != '' || $targetModalSelect.length) && is_tel === false) { if (caution != '') { $targetModal.find('ul.caution li').html(caution); $targetModal.find('ul.caution').show(); } else { $targetModal.find('ul.caution li').html(''); $targetModal.find('ul.caution').hide(); } $targetModal.addClass('dis'); } return false; }); $targetModal.find('a.bg, .title').on('click', function(){ $targetModal.removeClass('dis'); return false; }); $targetModalCancel.on('click', function(){ $targetModal.removeClass('dis'); return false; }); $targetModalOk.on('click', function(){ var href = $(this).data('href'); if ($targetModalSelect.length) { var wedding_color = ''; // チェック&パラメーター取得 var $targetModalSelectWC = $targetModalSelect.find('input[type=radio][name=wedding_color]'); if ($targetModalSelectWC.length) { wedding_color = $targetModalSelect.find('input[type=radio][name=wedding_color]:checked').val(); if (!wedding_color) { alert('カラーを選択してください。'); return false; } } var beach_photo_location = ''; // チェック&パラメーター取得 var $targetModalSelectBPL = $targetModalSelect.find('input[type=radio][name=beach_photo_location]'); if ($targetModalSelectBPL.length) { beach_photo_location = $targetModalSelect.find('input[type=radio][name=beach_photo_location]:checked').val(); if (!beach_photo_location) { alert('選べるビーチフォトロケーションを選択してください。'); return false; } } var visionari_fabric_color = ''; // チェック&パラメーター取得 var $targetModalSelectVFC = $targetModalSelect.find('input[type=radio][name=visionari_fabric_color]'); if ($targetModalSelectVFC.length) { visionari_fabric_color = $targetModalSelect.find('input[type=radio][name=visionari_fabric_color]:checked').val(); if (!visionari_fabric_color) { alert('アルバムの表紙のカラーを選択してください。'); return false; } } var hair_set_make = ''; // チェック&パラメーター取得 var $targetModalSelectHairSetMake = $targetModalSelect.find('input[type=radio][name=hair_set_make]'); if ($targetModalSelectHairSetMake.length) { hair_set_make = $targetModalSelect.find('input[type=radio][name=hair_set_make]:checked').val(); if (!hair_set_make) { alert('ヘアセットまたはメイクどちらかお選びください。'); return false; } } var shooting_location = ''; // チェック&パラメーター取得 var $targetModalSelectShootingLocation = $targetModalSelect.find('input[type=radio][name=shooting_location]'); if ($targetModalSelectShootingLocation.length) { shooting_location = $targetModalSelect.find('input[type=radio][name=shooting_location]:checked').val(); if (!shooting_location) { alert('撮影場所をお選びください。'); return false; } } href = href + '&wedding_color=' + wedding_color + '&beach_photo_location=' + beach_photo_location + '&visionari_fabric_color=' + visionari_fabric_color+ '&hair_set_make=' + hair_set_make + '&shooting_location=' + shooting_location ; } $targetModal.removeClass('dis'); location.href = href; return false; }); $(window).resize(function() { var timer = false; if (timer !== false) { clearTimeout(timer); } timer = setTimeout(function() { $targetModal.removeClass('dis'); }, 100); }); } });