No.5202
私は折り畳み記法にjavascriptとcssで開閉状況に応じてラベルが変わるカスタマイズをしてます。
折り畳まれているボタンをクリックして展開するとボタンのラベルが「閉じる」に変化し、展開された領域を折り畳むとラベルが「続きを読む」などの展開前のものに戻ります。同じことをしたい人がいましたら参考までに。
外側スキンの遅延読み込みスクリプト群に追加
//折り畳み記法の部分に「閉じる」ラベルを追加
document.addEventListener("DOMContentLoaded", function() {
// decorationO クラスを持つ details 要素を取得
document.querySelectorAll("details.decorationO > summary").forEach(summary => {
// 既に foldlabelClose がない場合のみ追加
if (!summary.querySelector(".foldlabelClose")) {
let closeSpan = document.createElement("span");
closeSpan.className = "foldlabelClose";
closeSpan.textContent = "閉じる";
summary.appendChild(closeSpan);
}
});
});
document.addEventListener("DOMContentLoaded", function() {
// decorationO クラスを持つ details 要素を取得
document.querySelectorAll("details.decorationO > summary").forEach(summary => {
// 既に foldlabelClose がない場合のみ追加
if (!summary.querySelector(".foldlabelClose")) {
let closeSpan = document.createElement("span");
closeSpan.className = "foldlabelClose";
closeSpan.textContent = "閉じる";
summary.appendChild(closeSpan);
}
});
});
スキン用cssに追加
/* 開いている状態の時に「続きを読む」を消す */
details[open] .foldlabel {
display: none;
}
/* 閉じている状態の時に「閉じる」を消す */
details:not([open]) .foldlabelClose {
display: none;
}
details[open] .foldlabel {
display: none;
}
/* 閉じている状態の時に「閉じる」を消す */
details:not([open]) .foldlabelClose {
display: none;
}