JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)tab欄效果制作
JS網(wǎng)頁(yè)–tab欄制作,供大家參考,具體內(nèi)容如下
在網(wǎng)頁(yè)的制作中,通常會(huì)使用到tab欄,例如淘寶,商品詳情,規(guī)格參數(shù)和累計(jì)評(píng)價(jià)三個(gè)欄,點(diǎn)擊不同的欄下面出現(xiàn)的內(nèi)容不同。在這樣的設(shè)計(jì)中,JS可以做到。

根據(jù)淘寶做出默認(rèn)狀態(tài)下為商品介紹欄以及對(duì)應(yīng)的文字,鼠標(biāo)點(diǎn)擊其他欄目,點(diǎn)擊的欄目背景顏色變紅,同時(shí)下面的欄目出現(xiàn)點(diǎn)擊欄目的解釋。

程序源碼:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>tab欄切換操作</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.tab {
margin: 100px auto;
width: 1200px;
height: 330px;
background-color: royalblue;
}
.tab .tab_list {
height: 30px;
background-color: slategrey;
}
.tab ul li{
float: left;
list-style: none;
cursor: pointer;
width: 100px;
height: 30px;
}
.color {
background-color: red;
}
.tab .tab_con {
height: 300px;
background-color: silver;
}
</style>
</head>
<body>
<div class = "tab">
<div class="tab_list">
<ul>
<li class = "color">商品介紹</li>
<li>規(guī)格與包裝</li>
<li>售后保障</li>
<li>商品評(píng)價(jià)</li>
<li>手機(jī)社區(qū)</li>
</ul>
</div>
<div class="tab_con">
<div class="item" style="display:block;">商品介紹</div>
<div class="item" style="display: none;">規(guī)格與包裝</div>
<div class="item" style="display: none;">售后保障</div>
<div class="item" style="display: none;">商品評(píng)價(jià)</div>
<div class="item" style="display: none;">手機(jī)社區(qū)</div>
</div>
</div>
<script>
var tab_list = document.querySelector('.tab_list');
var lis = tab_list.querySelectorAll('li');
var items = document.querySelectorAll('.item');
for(var i = 0;i<lis.length;i++){
//給所有的li添加自定義屬性索引號(hào)
lis[i].setAttribute('index',i)
//設(shè)置鼠標(biāo)點(diǎn)擊事件
lis[i].onclick = function(){
for( var i = 0;i<lis.length;i++){
//將所有類的類名設(shè)置為空
lis[i].className='';
//將所有的display設(shè)置為none
items[i].style.display='none';
}
//給點(diǎn)擊事件的類名設(shè)置為color
this.className='color';
//獲取點(diǎn)擊事件的索引號(hào)
var index = this.getAttribute('index');
// for (var i=0;i<items.length;i++){
// items[i].style.display='none';
// }
//將點(diǎn)擊事件的display設(shè)置為block
items[index].style.display = 'block';
}
}
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用window.prompt()實(shí)現(xiàn)彈出用戶輸入的對(duì)話框
window對(duì)象的最后一種對(duì)話框是提示對(duì)話框,它顯示了預(yù)先設(shè)置的信息并提供文本域供用戶輸入應(yīng)答。它包括兩個(gè)按鈕,即Cancel和Ok,允許用戶用兩個(gè)相反的期望值來關(guān)閉這個(gè)對(duì)話框:取消整個(gè)操作或接收輸入到對(duì)話框中的文本2015-04-04
用JS實(shí)現(xiàn)根據(jù)當(dāng)前時(shí)間隨機(jī)生成流水號(hào)或者訂單號(hào)
本文通過實(shí)例代碼給大家介紹了基于JS實(shí)現(xiàn)根據(jù)當(dāng)前時(shí)間隨機(jī)生成流水號(hào)或者訂單號(hào)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05
微信小程序連接MySQL數(shù)據(jù)庫(kù)的全過程
微信小程序是不能直接連接數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)操作的,這是出于安全的考慮,下面這篇文章主要給大家介紹了關(guān)于微信小程序連接MySQL數(shù)據(jù)庫(kù)的全過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01
詳解JavaScript+Canvas繪制環(huán)形進(jìn)度條
canvas可以在頁(yè)面中設(shè)定一個(gè)區(qū)域,再利用JavaScript動(dòng)態(tài)地繪制圖像。本文將利用canvas繪制一個(gè)可以動(dòng)的環(huán)形進(jìn)度條。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手試一試2022-02-02
JavaScript實(shí)現(xiàn)移動(dòng)端輪播效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)移動(dòng)端輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
js中區(qū)分深拷貝與淺拷貝的實(shí)戰(zhàn)過程
兩個(gè)對(duì)象A、B,A有數(shù)據(jù)B為空,B復(fù)制了A,我們修改A,如果B中的數(shù)據(jù)跟著變化了,那就是淺拷貝,如果沒有變化,那就是深拷貝,下面這篇文章主要給大家介紹了關(guān)于js中區(qū)分深拷貝與淺拷貝的相關(guān)資料,需要的朋友可以參考下2022-01-01

