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

根據(jù)淘寶做出默認(rèn)狀態(tài)下為商品介紹欄以及對應(yīng)的文字,鼠標(biāo)點(diǎn)擊其他欄目,點(diǎn)擊的欄目背景顏色變紅,同時下面的欄目出現(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>商品評價</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;">商品評價</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添加自定義屬性索引號
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)擊事件的索引號
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>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用window.prompt()實(shí)現(xiàn)彈出用戶輸入的對話框
window對象的最后一種對話框是提示對話框,它顯示了預(yù)先設(shè)置的信息并提供文本域供用戶輸入應(yīng)答。它包括兩個按鈕,即Cancel和Ok,允許用戶用兩個相反的期望值來關(guān)閉這個對話框:取消整個操作或接收輸入到對話框中的文本2015-04-04
用JS實(shí)現(xiàn)根據(jù)當(dāng)前時間隨機(jī)生成流水號或者訂單號
本文通過實(shí)例代碼給大家介紹了基于JS實(shí)現(xiàn)根據(jù)當(dāng)前時間隨機(jī)生成流水號或者訂單號的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05
詳解JavaScript+Canvas繪制環(huán)形進(jìn)度條
canvas可以在頁面中設(shè)定一個區(qū)域,再利用JavaScript動態(tài)地繪制圖像。本文將利用canvas繪制一個可以動的環(huán)形進(jìn)度條。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手試一試2022-02-02
JavaScript實(shí)現(xiàn)移動端輪播效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)移動端輪播效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
js中區(qū)分深拷貝與淺拷貝的實(shí)戰(zhàn)過程
兩個對象A、B,A有數(shù)據(jù)B為空,B復(fù)制了A,我們修改A,如果B中的數(shù)據(jù)跟著變化了,那就是淺拷貝,如果沒有變化,那就是深拷貝,下面這篇文章主要給大家介紹了關(guān)于js中區(qū)分深拷貝與淺拷貝的相關(guān)資料,需要的朋友可以參考下2022-01-01

