パーツ番号 10-02-09 ・ JavaScript使用
月切替カレンダー
◀▶ボタンで前月・翌月に切り替えられます(ダミー2ヶ月分)。クリックで月表示が入れ替わります。WordPressの予約カレンダーやイベント一覧に。
プレビュー
ソースコード
HTML
<div class="d10-02-09-cal">
<div class="d10-02-09-bar">
<button class="d10-02-09-nav" data-dir="-1">◀</button>
<span class="d10-02-09-title">2026年 7月</span>
<button class="d10-02-09-nav" data-dir="1">▶</button>
</div>
<div class="d10-02-09-week"><span>日</span><span>月</span><span>火</span><span>水</span><span>木</span><span>金</span><span>土</span></div>
<div class="d10-02-09-days"></div>
</div>CSS
.d10-02-09-cal{width:230px;font-size:12px;color:#334155}
.d10-02-09-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.d10-02-09-title{font-weight:700;color:#0f172a}
.d10-02-09-nav{width:26px;height:26px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;cursor:pointer;color:#475569;font-size:11px}
.d10-02-09-nav:hover{background:#eef2ff;border-color:#6366f1;color:#6366f1}
.d10-02-09-week{display:grid;grid-template-columns:repeat(7,28px);gap:2px;margin-bottom:4px}
.d10-02-09-week span{width:28px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#94a3b8}
.d10-02-09-days{display:grid;grid-template-columns:repeat(7,28px);gap:2px}
.d10-02-09-day{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:11px}
.d10-02-09-day:hover{background:#e0e7ff}
.d10-02-09-empty{visibility:hidden}JavaScript
(function(){
var cal=document.querySelector('#item-10-02-09 .d10-02-09-cal');
if(!cal)return;
var months=[
{name:'2026年 7月',first:3,total:31},
{name:'2026年 8月',first:6,total:31}
];
var cur=0;
var title=cal.querySelector('.d10-02-09-title');
var days=cal.querySelector('.d10-02-09-days');
function render(){
var m=months[cur];title.textContent=m.name;days.innerHTML='';
for(var i=0;i<m.first;i++){var e=document.createElement('div');e.className='d10-02-09-day d10-02-09-empty';days.appendChild(e);}
for(var d=1;d<=m.total;d++){var c=document.createElement('div');c.className='d10-02-09-day';c.textContent=d;days.appendChild(c);}
}
cal.querySelectorAll('.d10-02-09-nav').forEach(function(b){
b.addEventListener('click',function(){
var dir=parseInt(this.getAttribute('data-dir'),10);
cur=(cur+dir+months.length)%months.length;render();
});
});
render();
})();クラス名 .d10-02-09 は本ライブラリ内での識別用です。複数のパーツを同じページで使う場合は、重複しないよう名前を変更してください。