パーツ番号 10-07-02 ・ JavaScript使用
タイムゾーン対応時刻表示切替
「東京/ニューヨーク/ロンドン」等の都市タブを切り替えると予約時刻の表示が変わる。海外拠点向けオンライン商談予約サイトに便利。
プレビュー
ソースコード
HTML
<div class="d10-07-02-wrap">
<div class="d10-07-02-tabs">
<button type="button" class="d10-07-02-tab is-active" data-city="tokyo">東京</button>
<button type="button" class="d10-07-02-tab" data-city="ny">ニューヨーク</button>
<button type="button" class="d10-07-02-tab" data-city="london">ロンドン</button>
</div>
<div class="d10-07-02-display">
<p class="d10-07-02-time" data-tokyo="19:00" data-ny="06:00" data-london="11:00">19:00</p>
<p class="d10-07-02-date" data-tokyo="7月10日(金)" data-ny="7月9日(木)" data-london="7月10日(金)">7月10日(金)</p>
<p class="d10-07-02-note">予約日時はご覧の都市時間で表示されます</p>
</div>
</div>CSS
.d10-07-02-wrap{width:100%;max-width:260px;}
.d10-07-02-tabs{display:flex;gap:4px;background:#f0f0f0;padding:4px;border-radius:8px;}
.d10-07-02-tab{flex:1;border:none;background:transparent;padding:6px 4px;font-size:11px;border-radius:6px;cursor:pointer;color:#666;}
.d10-07-02-tab.is-active{background:#fff;color:#222;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.15);}
.d10-07-02-display{text-align:center;margin-top:16px;}
.d10-07-02-time{font-size:34px;font-weight:700;color:#222;letter-spacing:1px;}
.d10-07-02-date{font-size:13px;color:#666;margin-top:2px;}
.d10-07-02-note{font-size:10px;color:#999;margin-top:10px;}JavaScript
(function(){
var root = document.querySelector('.d10-07-02');
var tabs = root.querySelectorAll('.d10-07-02-tab');
var timeEl = root.querySelector('.d10-07-02-time');
var dateEl = root.querySelector('.d10-07-02-date');
tabs.forEach(function(tab){
tab.addEventListener('click', function(){
tabs.forEach(function(t){ t.classList.remove('is-active'); });
tab.classList.add('is-active');
var city = tab.getAttribute('data-city');
timeEl.textContent = timeEl.getAttribute('data-' + city);
dateEl.textContent = dateEl.getAttribute('data-' + city);
});
});
})();クラス名 .d10-07-02 は本ライブラリ内での識別用です。複数のパーツを同じページで使う場合は、重複しないよう名前を変更してください。