js自定義Tab選項(xiàng)卡效果
自定義Tab選項(xiàng)卡,具體內(nèi)容如下
規(guī)范HTML格式
在設(shè)計(jì)選項(xiàng)卡之前,先規(guī)范一下HTML的格式。
<div class="m-tab-container">
<ul >
<li class="active"><a href="#pane1">面板1</a></li>
<li><a href="#pane2" rel="external nofollow" >面板2</a></li>
</ul>
<div>
<div id="pane1" class="active">
這是面板1
</div>
<div id="pane2">
這是面板2
</div>
</div>
</div>
如上述代碼所示,這里并沒(méi)有聲明太多類(lèi)名,只有容器樣式類(lèi)m-tab-Container和激活樣式類(lèi)active兩個(gè)。其他元素的樣式都是通過(guò)這兩個(gè)類(lèi)一層一層往下找然后進(jìn)行設(shè)置。
設(shè)計(jì)CSS樣式
.m-tab-container{
display:flex;
}
.m-tab-container>ul, .m-tab-container>div{
padding:0;
margin:0;
}
.m-tab-container>ul{
flex:0;
min-width:50px;
}
.m-tab-container>div{
position:relative;
flex:1;
border:1px solid #ddd;
background-color:#fff;
padding:10px;
z-index:2;
}
.m-tab-container>ul>li{
display:block;
margin:0 0 5px 0;
}
.m-tab-container>ul>li>a{
position:relative;
line-height:40px;
display:block;
width:100%;
text-align:center;
text-decoration:none;
background-color:#fff;
border: 1px solid #ddd;
border-right:0;
z-index:1;
}
.m-tab-container>ul>li>a,
.m-tab-container>ul>li.active>a:hover,
.m-tab-container>ul>li.active>a:link,
.m-tab-container>ul>li.active>a:visited,
.m-tab-container>ul>li.active>a:active{
color:#000;
}
.m-tab-container>ul>li.active>a{
z-index:3;
}
.m-tab-container>div>div{
display:none;
}
.m-tab-container>div>div.active{
display:block;
}
.m-tab-container>ul>li.active,
.m-tab-container>ul>li.active>a{
cursor: default;
}
li里面的a標(biāo)簽display設(shè)置成block后,長(zhǎng)度超過(guò)了li,能夠覆蓋掉內(nèi)容面板的邊框形成空缺(經(jīng)過(guò)測(cè)試,li設(shè)置邊框之后和內(nèi)容面板的div邊框相距不足1px,也可以使用margin讓li和div重疊,然后用li覆蓋掉div的邊框)。
綁定JS代碼
(function($) {
// 頁(yè)面加載后的工作
$("div.m-tab-container li a").on("click", function(e) {
e.preventDefault();
// 可以在這里判斷被點(diǎn)擊的a標(biāo)簽是否已經(jīng)激活
$(".active").removeClass("active");
$(this).closest("li").addClass("active")
$($(this).attr("href")).addClass("active");
})
})(jQuery);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)簡(jiǎn)單選項(xiàng)卡功能
- vuejs實(shí)現(xiàn)標(biāo)簽選項(xiàng)卡動(dòng)態(tài)更改css樣式的方法
- AngularJS標(biāo)簽頁(yè)tab選項(xiàng)卡切換功能經(jīng)典實(shí)例詳解
- js實(shí)現(xiàn)Tab選項(xiàng)卡切換效果
- AngularJS實(shí)現(xiàn)tab選項(xiàng)卡的方法詳解
- 基于JS實(shí)現(xiàn)網(wǎng)頁(yè)中的選項(xiàng)卡(兩種方法)
- Vue.js tab實(shí)現(xiàn)選項(xiàng)卡切換
- 使用vue.js寫(xiě)一個(gè)tab選項(xiàng)卡效果
- js鼠標(biāo)經(jīng)過(guò)tab選項(xiàng)卡時(shí)實(shí)現(xiàn)切換延遲
- JS實(shí)現(xiàn)選項(xiàng)卡效果的代碼實(shí)例
相關(guān)文章
javascript獲取重復(fù)次數(shù)最多的字符
本文給大家講述的是使用javascript實(shí)現(xiàn)獲取重復(fù)次數(shù)最多的字符,代碼很簡(jiǎn)單,有需要的小伙伴可以參考下。2015-07-07
JS實(shí)現(xiàn)漂亮的時(shí)間選擇框效果
這篇文章主要介紹了JS實(shí)現(xiàn)漂亮的時(shí)間選擇框效果,結(jié)合實(shí)例形式分析了javascript時(shí)間選擇框插件的實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2016-08-08
自己動(dòng)手寫(xiě)的javascript前端等待控件
等待控件在網(wǎng)上搜有好多種,但是都很復(fù)雜,不一定用的順手,再說(shuō)我的項(xiàng)目是bootstrap的原因,又不敢輕易使用第三方控件,怕不兼容,于是自己動(dòng)手寫(xiě)了個(gè)等待控件,有需要的朋友可以參考下2015-10-10
理解Javascript_02_理解undefined和null
其實(shí)在 ECMAScript 的原始類(lèi)型中,是有Undefined 和 Null 類(lèi)型的。 這兩種類(lèi)型都分別對(duì)應(yīng)了屬于自己的唯一專(zhuān)用值,即undefined 和 null。2010-10-10
通過(guò)設(shè)置CSS中的position屬性來(lái)固定層的位置
position 屬性規(guī)定元素的定位類(lèi)型,這個(gè)屬性定義建立元素布局所用的定位機(jī)制,本文給大家介紹通過(guò)設(shè)置CSS中的position屬性來(lái)固定層的位置,感興趣的朋友一起學(xué)習(xí)吧2015-12-12
JavaScript空數(shù)組的every()方法實(shí)踐
every()方法用于檢測(cè)數(shù)組中的所有元素是否都滿足指定條件, 本文主要介紹了JavaScript空數(shù)組的every()方法實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03

