注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。
- Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
- Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
- Internet Explorer / Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
- Opera: Ctrl-F5を押してください
/* ここにある全てのJavaScriptはモバイル版サイトの利用者に影響します */
/* ここにある全てのJavaScriptはモバイル版サイトの利用者に影響します */
var timer = setInterval(function() {
if ($('.menu ul:first').length) {
console.log("mobile menu exists");
clearInterval(timer);
$('.menu ul:first').after(
'<ul class="level1"> \
<li> \
<a href="#" \
class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-watchlist"> \
<span>Dropdown Links</span> \
</a> \
</li> \
<ul class ="level2"> \
<li> \
<a href="/wiki/Link_1" \
class="mw-ui-icon mw-ui-icon-before"> \
<span>Link 1</span> \
</a> \
</li> \
<li> \
<a href="/wiki/Link_2" \
class="mw-ui-icon mw-ui-icon-before"> \
<span>Link 2</span> \
</a> \
</li> \
<li> \
<a href="/wiki/Link_3" \
class="mw-ui-icon mw-ui-icon-before"> \
<span>Link 3</span> \
</a> \
</li> \
</ul> \
</ul> \
<ul> \
<li> \
<a href="/wiki/Second_Link" \
class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-watchlist"> \
<span>Second Link</span> \
</a> \
</li> \
</ul>'
);
$(".menu").find(".level2").hide(); // hide level2 until level1 is clicked
$(".level1").click(function(event){
$(this).find(".level2").slideToggle(500);
}); // if level1 is clicked, dropdown level2
}
}, 100); // check every 100ms
/*mobilemenu*/
function isMobileDevice() {
const userAgent = navigator.userAgent;
const screenWidth = window.innerWidth;
// モバイルデバイスのユーザーエージェントをチェック(iPadを除外)
const isMobileUA = /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent) && !/iPad/i.test(userAgent);
// 画面サイズが特定の最大幅(例えば768px)以下かどうかをチェック
const isSmallScreen = screenWidth <= 768;
// 両方の条件を満たす場合にtrueを返す
return isMobileUA && isSmallScreen;
}
window.onload = function() {
if (isMobileDevice()) {
document.getElementById('mobileMenuBar').style.display = 'block';
}
};
/*メニューバー*/
/*メニューバー*/
var lastScrollTop = 0;
var menuBar = document.getElementById("mobileMenuBar");
window.addEventListener("scroll", function(){
var currentScroll = window.pageYOffset || document.documentElement.scrollTop;
if (currentScroll > lastScrollTop){
// 下にスクロールしているとき
if (currentScroll > 100) {
menuBar.style.display = 'block';
menuBar.style.position = 'fixed'; // スクロール時には固定
menuBar.style.top = '0px';
}
} else {
// 上にスクロールしているとき
if (currentScroll <= 0) {
// ページの一番上にいるとき
menuBar.style.display = 'none';
} else if (currentScroll > 100) {
menuBar.style.display = 'block';
menuBar.style.position = 'fixed'; // スクロール時には固定
menuBar.style.top = '0px';
}
}
lastScrollTop = currentScroll <= 0 ? 0 : currentScroll; // ネガティブな値を防ぐ
}, false);
// TOPへ
$(document).ready(function() {
// FontAwesomeアイコンを使用してボタンを作成
var backToTopButton = $('<div/>', {
id: 'back-to-top',
html: '<i class="fa-solid fa-chevron-up"></i>',
click: function() {
window.scrollTo(0, 0);
}
}).appendTo('body');
// ボタンをすぐに表示
backToTopButton.show();
// 非アクティブタイマーを管理する変数
var inactivityTimer;
// スクロールやマウス動作でタイマーをリセットする関数
function resetInactivityTimer() {
backToTopButton.show(); // スクロール時にボタンを表示
clearTimeout(inactivityTimer); // タイマーをリセット
inactivityTimer = setTimeout(function() {
backToTopButton.fadeOut(); // 2秒間非アクティブ状態で非表示にする
}, 2000); // 2000ミリ秒 = 2秒
}
// スクロールとマウス動作でタイマーをリセット
$(window).scroll(resetInactivityTimer);
$(window).mousemove(resetInactivityTimer);
// 初期タイマー設定
resetInactivityTimer();
});