2021・05・03
*タブで表示が切り替わる機能です*
タブをクリック(タップ)することで、下のボックスの表示が切り替わります。縦スクロール量を減らしたい時、ページをコンパクトに納めたい時などにどうぞ!
使用機能:CSS・JavaScript(jQuery非使用)
タブ1
タブ2
タブ3
上記のサンプルコードを掲載しています。学習用としてご自由にコピペしてお使い下さい。(※スクロールできます)
HTML・CSS・JavaScript
<!DOCTYPE html>
<html lang="ja" dir="ltr">
<head>
<meta charset="utf-8">
</head>
<style>
html p {
margin-block-start: 0;
margin-block-end: 0;
}
.sampletabcode {
width: 70vw;
margin: 0 auto;
}
.sampletabbox {
display: flex;
}
.sampletab {
border-radius: 5px 5px 0 0;
padding: 10px 18px;
margin-right: 10px;
cursor: pointer;
}
.sampleactivetab {
background-color: lightblue;
color: darkblue;
}
.samplehidetab {
background-color: darkblue;
color: grey;
}
.sampletabarea {
padding:1rem;
border-radius: 0 5px 5px 5px;
box-shadow: 1px 1px 2px;
height: 20vh;
width: 70vw;
}
#sampletabarea1 {
background-color: rgba(255, 255, 230, 0.7);
}
#sampletabarea2 {
background-color: rgba(229, 255, 199, 0.52);
}
#sampletabarea3 {
background-color: rgba(233, 250, 255, 0.79);
}
.samplehide {
display: none;
}
</style>
<body>
<div class="sampletabcode">
<div class="sampletabbox">
<div id="sampletab1" class="sampletab sampletab1 sampleactivetab">
<p>タブ1</p>
</div>
<div id="sampletab2" class="sampletab sampletab2 samplehidetab">
<p>タブ2</p>
</div>
<div id="sampletab3" class="sampletab sampletab3 samplehidetab">
<p>タブ3</p>
</div>
</div>
<div id="sampletabarea1" class="sampletabarea">
<p>新着情報1:3月6日 新商品発売!</p>
</div>
<div id="sampletabarea2" class="sampletabarea samplehide">
<p>新着情報2:4月8日 店休日のお知らせ</p>
</div>
<div id="sampletabarea3" class="sampletabarea samplehide">
<p>新着情報3:6月2日 ホームページを公開しました</p>
</div>
</div>
<script type="text/javascript">
{
const tab1 = document.getElementById('sampletab1');
const tab2 = document.getElementById('sampletab2');
const tab3 = document.getElementById('sampletab3');
const tabarea1 = document.getElementById('sampletabarea1');
const tabarea2 = document.getElementById('sampletabarea2');
const tabarea3 = document.getElementById('sampletabarea3');
tab1.addEventListener('click',function(evevt) {
tab1.classList.add('sampleactivetab');
tab1.classList.remove('samplehidetab');
tab2.classList.add('samplehidetab');
tab2.classList.remove('sampleactivetab');
tab3.classList.add('samplehidetab');
tab3.classList.remove('sampleactivetab');
tabarea1.classList.remove('samplehide');
tabarea2.classList.add('samplehide');
tabarea3.classList.add('samplehide');
});
tab2.addEventListener('click',function(evevt) {
tab2.classList.add('sampleactivetab');
tab2.classList.remove('samplehidetab');
tab1.classList.add('samplehidetab');
tab1.classList.remove('sampleactivetab');
tab3.classList.add('samplehidetab');
tab3.classList.remove('sampleactivetab');
tabarea2.classList.remove('samplehide');
tabarea1.classList.add('samplehide');
tabarea3.classList.add('samplehide');
});
tab3.addEventListener('click',function(evevt) {
tab3.classList.add('sampleactivetab');
tab3.classList.remove('samplehidetab');
tab1.classList.add('samplehidetab');
tab1.classList.remove('sampleactivetab');
tab2.classList.add('samplehidetab');
tab2.classList.remove('sampleactivetab');
tabarea3.classList.remove('samplehide');
tabarea2.classList.add('samplehide');
tabarea1.classList.add('samplehide');
});
}
</script>
</body>
</html>