原生js和jQuery寫的網(wǎng)頁選項卡特效對比
更新時間:2015年04月27日 09:05:17 投稿:hebedich
本文實例中主要是通過判斷點擊菜單在菜單列表中的索引位置來顯示或隱藏選項區(qū).原生js還有很多種實現(xiàn)方法(藍色理想中搜索),為了與jQ版思路保持一致,本文實例用的是循環(huán)判斷.有需要的小伙伴可以參考下
總的來說思路比較簡單,就是先獲取節(jié)點,然后對節(jié)點進行相應(yīng)的處理,下面是完整的頁面代碼:
原生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">標題一</li>
<li>標題二</li>
<li>標題三</li>
<li>標題四</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>
下面我們來看一下jQuery寫的(css共用,需要引進jQuery庫):
<!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寫的選項卡:</h3>
<div id="tab2" class="tab">
<div class="tabTltle tab-title">
<ul class="clearfix">
<li class="active">標題一</li>
<li>標題二</li>
<li>標題三</li>
<li>標題四</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>
是不是簡單了好多!
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
jQuery實現(xiàn)的背景動態(tài)變化導(dǎo)航菜單效果
這篇文章主要介紹了jQuery實現(xiàn)的背景動態(tài)變化導(dǎo)航菜單效果,涉及jquery頁面元素背景動態(tài)變換的實現(xiàn)技巧,非常具有實用價值,需要的朋友可以參考下2015-08-08
web的各種前端打印方法之jquery打印插件jqprint實現(xiàn)網(wǎng)頁打印
本文介紹JQuery插件Jqprint實現(xiàn)網(wǎng)頁打印,不懂的同學(xué)正可借此機會學(xué)習(xí)下,以備不時之需,話不多說,切入主題2013-01-01
jquery 通過ajax請求獲取后臺數(shù)據(jù)顯示在表格上的方法
今天小編就為大家分享一篇jquery 通過ajax請求獲取后臺數(shù)據(jù)顯示在表格上的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

