$(function(){ //狭い画面幅でのグローバルナビゲーション $('
').appendTo('header [role="navigation"]'); $('
', { 'value': '', 'text': 'メニュー', 'selected': 'selected' }).appendTo('header [role="navigation"] > select'); $('header [role="navigation"] a').each(function() { var el = $(this); $('
', { 'value': el.attr('href'), 'text': el.text() }).appendTo('header [role="navigation"] > select'); }); $('header [role="navigation"] > select, .widget-archive-dropdown select').change(function() { window.location = $(this).find('option:selected').val(); }); //トップへ戻るボタン $(document).ready(function(){ // scroll body to 0px on click $('#back_top a').click(function () { $('body,html').animate({scrollTop: 0}, '400'); return false; }); }); }); window.addEventListener("message", receiveRun, false); function receiveRun(e) { switch(e.origin){ case "https://www.bengoshi-kokoro.com": console.log(e.data); const topUrl = $(".foot_ttl a").attr("href"); if (Array.isArray(e.data)) {//iframe高さ値の処理(複数) window.scroll(0,0); for (const [key, value] of Object.entries(e.data)) { const idName = `${key}_if`; const ifHight = `${value}`; if(ifHight > 50000){ const hosei = ($(window).width() < 600) ? 0 : 100; document.getElementById(idName).style.height = Number(ifHight) + Number(hosei) + "px"; }else{ document.getElementById(idName).style.height = ifHight + "px"; } } }else if (e.data.charAt(0) === "s") {//アンカーリンクスクロール値の処理 const ifScroll = Number(e.data.slice(1)); const ifHeight = $("#main_if").offset().top ; const navHeight = $(".nav").height(); const topSpace = ($(window).width() < 600) ? $(window).width() * 0.04 : 15; const scrollposition = ifHeight + ifScroll - navHeight - topSpace; $("html, body").animate({scrollTop:scrollposition}, 500, "linear"); }else if (e.data.charAt(0) === "h") {//iframe高さ値の処理 window.scroll(0,0); document.getElementById("main_if").style.height = e.data.slice(1) + "px"; }else if (e.data.charAt(0) === "a") { if(location.href.indexOf("/access/")!== -1){//アクセスページの時、別インラインフレーム内スクロール const id = e.data.slice(2); const win = document.getElementById("main_if").contentWindow; win.postMessage(id,"*"); }else{//アクセスページへ移動し、スクロール window.location.href = topUrl + "access/?" + e.data.slice(2); } }else if (e.data.charAt(0) === "b") {//iframe高さ値取得の再処理(複数) const resendHeight = e.data.slice(1).split("="); const idName = resendHeight[0]; const ifHight = resendHeight[1]; document.getElementById(idName + "_if").style.height = ifHight + "px"; }else if (e.data.charAt(0) === "d") {//エリアマップアンカーリンクスクロール値の処理 const idHeight = e.data.slice(1).split("&"); const idName = idHeight[0]; const ifScroll = Number(idHeight[1]); const ifHeight = $(idName + "_if").offset().top; const navHeight = $(".nav").height(); const topSpace = ($(window).width() < 600) ? $(window).width() * 0.04 : 15; const scrollposition = ifHeight + ifScroll - navHeight - topSpace; $("html, body").animate({scrollTop:scrollposition}, 500, "linear"); }else if (e.data.charAt(0) === "e") {//インラインフレーム内からインラインフレーム外アンカーリンクへのスクロール処理 const id = e.data.slice(1); const ifHeight = $(id).offset().top; const navHeight = $(".nav").height(); const topSpace = ($(window).width() < 600) ? $(window).width() * 0.04 : 15; const scrollposition = ifHeight - navHeight - topSpace; $("html, body").animate({scrollTop:scrollposition}, 500, "linear"); }else if (e.data.charAt(0) === "g") {//インラインフレームのスクロールid送信(複数) const sendId = e.data.slice(1).split("&"); const id = sendId[0]; const idName = sendId[1]; const win = document.getElementById(idName + "_if").contentWindow; win.postMessage( id + "&mif&" + idName,"*"); }else if (e.data.charAt(0) === "i") {//インラインフレームのスクロール処理(複数) const idHeight = e.data.slice(1).split("&"); const idName = idHeight[0]; const ifScroll = Number(idHeight[1]); const ifHeight = $("#" + idName + "_if").offset().top; const navHeight = $(".nav").height(); const topSpace = ($(window).width() < 600) ? $(window).width() * 0.04 : 15; const scrollposition = ifHeight + ifScroll - navHeight - topSpace; $("html, body").animate({scrollTop:scrollposition}, 500, "linear"); } break; } } //ページ操作・解析可能後データ処理:?key=pageid形式のpageidをiframe srcに追記 $(document).ready(function(){ if( 1 < window.location.search.length ){//?以下の文字数チェック var params = window.location.search.substring(1);//substring[1]で?より後ろを取得 if( params.search(/[&=]/) != -1 ){//?以降に&か=がある場合実行 var param = params.split('&'); var paramArray = []; for ( i = 0; i < param.length; i++ ) { neet = param[i].split("="); paramArray.push(neet[0]); paramArray[neet[0]] = neet[1]; } document.getElementById('main_if').src = document.getElementById('main_if').src + paramArray['page']; } } }); //ページデータ読み込み完了後データ送信:?anchorname形式のanchorname送信 $(window).on('load',function(){ if( 1 < window.location.search.length ){//?以下の文字数チェック var params = window.location.search.substring(1);//substring[1]で?より後ろを取得 if( params.search(/[&=]/) == -1 ){//?以降に&も=もない場合実行 var win = document.getElementById('main_if').contentWindow; win.postMessage(params,'*'); } } }); function openparking(url) {//駐車場ポップアップ window.open(url, "", "width=740,height=600, scrollbars=yes,resizable=yes"); }