File: /virtual/yunportfolio/public_html/yunportfolio.shop/wp-content/themes/cocoon-master/javascript.js
/**
* Cocoon WordPress Theme
* @author: yhira
* @link: https://wp-cocoon.com/
* @license: http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
*/
/////////////////////////////////
// JavaScriptコード
/////////////////////////////////
(function ($) {
/////////////////////////////////
//TOPへ戻るボタン
/////////////////////////////////
var prevScrollTop = -1;
var $window = $(window);
$window.scroll(function () {
//最上部から現在位置までの距離を取得して、変数[scrollTop]に格納
var scrollTop = $window.scrollTop();
var threashold = 600;
var s1 = (prevScrollTop > threashold);
var s2 = (scrollTop > threashold);
// スレッショルドを跨いだ時のみ処理をする
if (s1 ^ s2) {
if (s2) {
// トップへ戻るボタンが見えている時
$('.body').addClass('go-to-top-visible');
// //[.go-to-to]をゆっくりフェードインする
// $('.go-to-top').fadeIn('slow');
} else {
//トップへ戻る間だけ追加したクラスを除去
$('.go-to-top-common').removeClass('go-to-top-up');
// トップへ戻るボタンが見えていない時
$('.body').removeClass('go-to-top-visible');
// //それ以外だったらフェードアウトする
// $('.go-to-top').fadeOut('slow');
}
}
prevScrollTop = scrollTop;
});
//ボタン(.go-to-top-common)のクリックイベント
$('.go-to-top-common').click(function () {
//トップへ戻る間だけクラスを追加
$(this).addClass('go-to-top-up');
//ページトップへ移動する
$('body,html').animate({
scrollTop: 1
}, 800);
});
//ボタン(.go-to-toc-common)のクリックイベント
$('.go-to-toc-common').click(function () {
//目次へ移動する
$('body,html').animate({
scrollTop: $('.entry-content .toc').offset().top
}, 800);
});
//検索ボタンクリックでフォーカスを入力エリアに移す
$('#search-menu-input').change(function (e) {
var searchEdit = $('#search-menu-content .search-edit').first();
if (e.target.checked) {
searchEdit.focus();
} else {
searchEdit.blur();
}
});
//下にスクロールで管理パネルを隠す
//上にスクロールで管理パネルを表示
var adminMenu = $("#admin-panel");
var adminHeight = adminMenu.outerHeight();
var adminStartPos = 0;
$(window).scroll(function () {
var adminCurrentPos = $(this).scrollTop();
if (adminCurrentPos > adminStartPos) {
if (adminCurrentPos >= 200) {
adminMenu.css("bottom", "-" + adminHeight + "px");
}
} else {
adminMenu.css("bottom", 0);
}
adminStartPos = adminCurrentPos;
});
//モバイルボタンが固定じゃない場合
if (cocoon_localize_script_options.is_fixed_mobile_buttons_enable != 1) {
//ヘッダーモバイルメニュー
var headerMenu = $('.mobile-header-menu-buttons');
var headerHight = headerMenu.outerHeight();
var headerStartPos = 0;
$(window).scroll(function () {
var headerCurrentPos = $(this).scrollTop();
if (headerCurrentPos > headerStartPos) {
if (headerCurrentPos >= 100) {
headerMenu.css('top', '-' + headerHight + 'px');
}
} else {
headerMenu.css('top', 0);
}
headerStartPos = headerCurrentPos;
});
//フッターモバイルメニュー
var footerMenu = $(".mobile-footer-menu-buttons");
var footerHeight = footerMenu.outerHeight();
var footerStartPos = 0;
$(window).scroll(function () {
var footerCurrentPos = $(this).scrollTop();
if (footerCurrentPos > footerStartPos) {
if (footerCurrentPos >= 100) {
footerMenu.css("bottom", "calc( -1 * (env(safe-area-inset-bottom) + " + footerHeight + "px) )");
}
} else if (footerCurrentPos - footerStartPos < -8) {
footerMenu.css("bottom", 0);
}
footerStartPos = footerCurrentPos;
});
var headerButtons = $(".mobile-header-menu-buttons");
var footerButtons = $(".mobile-footer-menu-buttons");
headerButtons.click(function () {
headerButtons.css("z-index", "3");
footerButtons.css("z-index", "2");
});
footerButtons.click(function () {
headerButtons.css("z-index", "2");
footerButtons.css("z-index", "3");
})
}
//コメントボタンがクリックされたとき
const clickEventType = ((window.ontouchstart !== null) ? 'click' : 'touchend');
$(document).on(clickEventType,'#comment-reply-btn, .comment-reply-link', function() {
$('#comment-reply-btn').slideUp();
const respond = document.getElementById('respond');
const styles = { inset: 'auto', position: 'static', visibility: 'visible' };
Object.entries(styles).forEach(([key, value]) => {
respond.style[key] = value;
});
$('#respond').slideDown();
});
//Google検索ボタン
$('.sbtn').click(function () {
var w = $(this).prev('.sform').text();
if (w) window.open('https://www.google.co.jp/search?q=' + encodeURIComponent(w), '_blank');
});
//スライドインサイドバーのアーカイブセレクトボックス選択処理
$('.sidebar-menu-content .widget_archive select').change(function () {
document.location.href = this.options[this.selectedIndex].value;
});
//スライドインサイドバーのカテゴリーセレクトボックス選択処理
$('.sidebar-menu-content .widget_categories select').change(function () {
if (this.options[this.selectedIndex].value > 0) {
this.parentNode.submit();
}
});
function drawerCloser(selecter, checkbox) {
$(selecter).click(function () {
$(checkbox).prop('checked', false);
// const href = $(this).attr('href');
// if (href.match(/#/)) {
// $(checkbox).prop('checked', false);
// }
})
}
//モバイルメニューをクリックしたら閉じる
drawerCloser('.menu-drawer .menu-item a', '#navi-menu-input');
//モバイルサイドバーをクリックしたら閉じる
drawerCloser('#slide-in-sidebar a', '#sidebar-menu-input');
//モバイルヘッダーメニューのロゴ処理
$('.mobile-menu-buttons').each(function () {
if ($(this).has('.logo-menu-button').length) {
$(this).addClass('has-logo-button');
}
});
$(window).on('load', function () {
$('#carousel').addClass('loaded');
});
//FAQボックスのアコーディオン化用
$('.is-style-accordion > .faq > .faq-answer').hide();
$('.is-style-accordion > .faq > .faq-question').click(function () {
$(this).next('.is-style-accordion .faq-answer').slideToggle();
$(this).toggleClass('active');
});
//モバイルサイドバー表示時にサイドバーを移動する・モバイルサイドバーを閉じる時に元の位置に戻す
$(document).on("change", '#sidebar-menu-input', function () {
if ($(this).prop('checked')) {
$('#sidebar').appendTo('#sidebar-menu-content');
$('#sidebar').attr('id', 'slide-in-sidebar');
$('#sidebar').addClass('slide-in-sidebar');
//モバイルサイドバーのリンクをクリックしたら閉じる
drawerCloser('#slide-in-sidebar a', '#sidebar-menu-input');
} else {
$('#sidebar').removeClass('slide-in-sidebar');
$('#slide-in-sidebar').attr('id', 'sidebar');
$('#sidebar').insertAfter('#main');
}
});
//リサイズした時はサイドバーを元に戻す
var vw = window.innerWidth;
$(window).resize(function () {
if (vw != window.innerWidth) {
$('#sidebar-menu-input').prop('checked', false).change();
}
vw = window.innerWidth;
});
})(jQuery);
/*
* Cocoon WordPress Theme incorporates code from "Youtube SpeedLoad" WordPress Plugin, Copyright 2017 Alexufo[http://habrahabr.ru/users/alexufo/]
"Youtube SpeedLoad" WordPress Plugin is distributed under the terms of the GNU GPL v2
*/
(function () {
var f = document.querySelectorAll(".video-click");
for (var i = 0; i < f.length; ++i) {
f[i].onclick = function () {
var iframe = this.getAttribute("data-iframe");
this.parentElement.innerHTML = '<div class="video">' + iframe + '</div>';
}
}
})();