原生js和jQuery寫的網(wǎng)頁(yè)選項(xiàng)卡特效對(duì)比
總的來(lái)說(shuō)思路比較簡(jiǎn)單,就是先獲取節(jié)點(diǎn),然后對(duì)節(jié)點(diǎn)進(jìn)行相應(yīng)的處理,下面是完整的頁(yè)面代碼:
原生js:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>原生js tab</title>
<style type="text/css">
.tab{
margin:10px auto;
position:relative;
width:300px;
}
ul,li{
list-style-type:none;
padding:0;
margin:0;
font:13px/20px SimSun,arial;
color:#333;
text-align:center;
}
.tabTltle ul li{
float:left;
position:relative;
background:#fefefe;
background:-webkit-gradient(linear,left top,left bottom, from(#fefefe), to(#ededed));
padding:7px 15px;
border:1px #ddd solid;
margin-right:-1px;
cursor:pointer;
}
.tabTltle ul li.active{
background:#fff;
font-weight: bold;
}
.clearfix{
}
.clearfix:after{
display:block;
clear:both;
overflow:hidden;
content:"";
}
.tabConn{
border:1px #eee solid;
position:relative;
height:100px
}
.tabConn div{
position:absolute;
opacity:0;
filter:alpha(opacity=0);
padding:5px;
text-align:center;
width:100%;
}
.tabConn div.current{
opacity:1;
filter:alpha(opacity=100);
}
</style>
</head>
<body>
<div id="tab" class="tab">
<div class="tabTltle">
<ul class="clearfix">
<li class="active">標(biāo)題一</li>
<li>標(biāo)題二</li>
<li>標(biāo)題三</li>
<li>標(biāo)題四</li>
</ul>
</div>
<div class="tabConn">
<div class="current">aaaaaaaaaaaaaaa</div>
<div>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
<div>cccccccccccccccccccccccccccccccc</div>
<div>ddddddddddddddddddddddddddddd</div>
</div>
</div>
<script type="text/javascript">
(function(){
var tab = document.getElementById("tab");
var tabList = tab.getElementsByTagName("div")[0].getElementsByTagName("li");
var tabConn = tab.getElementsByTagName("div")[1].getElementsByTagName("div");for(var i=0;i<tabList.length;i++){
tabList[i].index = i;
tabList[i].onclick = function(){
showConn(this.index);
}
}
function showConn(_index){
var index = _index;for(var j=0;j<tabList.length;j++){
tabList[j].className = "";
tabConn[j].className = "";
tabConn[j].style.opacity=0;
}
tabConn[index].className="current";
tabList[index].className="active";
}
})();
</script>
</body>
</html>
下面我們來(lái)看一下jQuery寫的(css共用,需要引進(jìn)jQuery庫(kù)):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>jQuery tab</title>
<script type="text/javascript" src="js/jquery-1.8.1.min.js"></script>
<style type="text/css">
.tab{
margin:10px auto;
position:relative;
width:300px;
}
ul,li{
list-style-type:none;
padding:0;
margin:0;
font:13px/20px SimSun,arial;
color:#333;
text-align:center;
}
.tabTltle ul li{
float:left;
position:relative;
background:#fefefe;
background:-webkit-gradient(linear,left top,left bottom, from(#fefefe), to(#ededed));
padding:7px 15px;
border:1px #ddd solid;
margin-right:-1px;
cursor:pointer;
}
.tabTltle ul li.active{
background:#fff;
font-weight: bold;
}
.clearfix{
}
.clearfix:after{
display:block;
clear:both;
overflow:hidden;
content:"";
}
.tabConn{
border:1px #eee solid;
position:relative;
height:100px
}
.tabConn div{
position:absolute;
opacity:0;
filter:alpha(opacity=0);
padding:5px;
text-align:center;
width:100%;
}
.tabConn div.current{
opacity:1;
filter:alpha(opacity=100);
}
</style>
</head>
<body>
<h3>jQuery寫的選項(xiàng)卡:</h3>
<div id="tab2" class="tab">
<div class="tabTltle tab-title">
<ul class="clearfix">
<li class="active">標(biāo)題一</li>
<li>標(biāo)題二</li>
<li>標(biāo)題三</li>
<li>標(biāo)題四</li>
</ul>
</div>
<div class="tabConn tab-conn">
<div class="current">aaaaaaaaaaaaaaa</div>
<div>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
<div>cccccccccccccccccccccccccccccccc</div>
<div>ddddddddddddddddddddddddddddd</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
var $tabTitle = $('.tab-title').find('li');
var $tabList = $('.tab-conn > div');
$tabTitle.click(function(){
$tabTitle.each(function(){
$tabTitle.removeClass('active');
});
var index = $tabTitle.index(this);
$(this).addClass('active');
$tabList.eq(index).addClass('current').siblings().removeClass('current');
});
});
</script>
</body>
</html>
是不是簡(jiǎn)單了好多!
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- jQuery實(shí)例—選項(xiàng)卡的簡(jiǎn)單實(shí)現(xiàn)(js源碼和jQuery)
- jquery插件tytabs.jquery.min.js實(shí)現(xiàn)漸變TAB選項(xiàng)卡效果
- 簡(jiǎn)單選項(xiàng)卡 js和jquery制作方法分享
- js/jQuery簡(jiǎn)單實(shí)現(xiàn)選項(xiàng)卡功能
- 結(jié)構(gòu)/表現(xiàn)/行為完全分離的選項(xiàng)卡(jquery版和原生JS版)
- JQuery 選項(xiàng)卡效果(JS與HTML的分離)
- 原生JS與jQuery編寫簡(jiǎn)單選項(xiàng)卡
相關(guān)文章
jQuery實(shí)現(xiàn)新消息在網(wǎng)頁(yè)標(biāo)題閃爍提示
這篇文章主要介紹了jQuery實(shí)現(xiàn)新消息在網(wǎng)頁(yè)標(biāo)題閃爍提示的相關(guān)資料,需要的朋友可以參考下2015-06-06
HTML+jQuery實(shí)現(xiàn)簡(jiǎn)單的登錄頁(yè)面
這篇文章主要介紹了用三種方法實(shí)現(xiàn)簡(jiǎn)單的登錄頁(yè)面的制作:純HTML、HTML+jQuery(form data)格式、HTML+jQuery(json)格式。感興趣的同學(xué)可以跟隨小編一起學(xué)習(xí)一下2021-12-12
用js實(shí)現(xiàn)的模擬jquery的animate自定義動(dòng)畫(2.5K)
模仿jquery的animate寫了一個(gè)簡(jiǎn)單的動(dòng)畫實(shí)現(xiàn)方法。2010-07-07
jquery中的mouseleave和mouseout的區(qū)別 模仿下拉框效果
不論鼠標(biāo)指針離開被選元素還是任何子元素,都會(huì)觸發(fā) mouseout 事件,只有在鼠標(biāo)指針離開被選元素時(shí),才會(huì)觸發(fā) mouseleave 事件2012-02-02
jQuery事件模型默認(rèn)行為執(zhí)行順序及trigger()與 triggerHandler()比較實(shí)例分析
這篇文章主要介紹了jQuery事件模型默認(rèn)行為執(zhí)行順序及trigger()與 triggerHandler()比較,結(jié)合實(shí)例形式分析了jQuery事件模型默認(rèn)行為執(zhí)行順序相關(guān)原理,以及trigger()與 triggerHandler()的異同點(diǎn)比較,需要的朋友可以參考下2020-04-04
sliderToggle在寫jquery的計(jì)時(shí)器setTimeouter中不生效
sliderToggle在setTimeouter中不生效,還報(bào)錯(cuò)說(shuō)是發(fā)生了意想不到的錯(cuò)誤2014-05-05

