jQuery制作網(wǎng)頁版選項卡
網(wǎng)頁選項卡可以較好的利用有限的頁面來展示更多的元素,而使用JQuery來制作網(wǎng)頁選項卡也是一件非常簡單的事情。今天就來分享一個網(wǎng)頁選項卡的制作小技巧。
◦引入所需庫
◦選項卡原理
◦業(yè)務核心
◦完整小例子
引入所需庫
這個知識點很基礎,但是為了照顧fresh man ,我還是寫一下吧。
選項卡原理
選項卡出現(xiàn)其實只是某一個div獲取到了顯示的權限,其他的沒有顯示而已。
•網(wǎng)頁代碼
<div class="tab">
<div class="tab_menu">
<ul>
<li class="selected">選項卡1</li>
<li>選項卡2</li>
<li>選項卡3</li>
</ul>
</div><br><br><br>
<div class="tab_box">
<div>選項卡1:這里是1號內容區(qū)域</div>
<div class="hide">選項卡2:這里是2號內容區(qū)域</div>
<div class="hide">選項卡3:這里是3號內容區(qū)域</div>
</div>
</div>
•添加點樣式元素
<style>
// 使得UL中的li標簽水平排列
ul {
display:inline;
white-space: nowrap;
}
li {
margin:3px;
float:left;
background:red;
// 這樣可以防止li標簽出現(xiàn)換行的顯示
display:inline-block;
}
.tab_menu {
list-style:none; /* 去掉ul前面的符號 */
margin: 0px; /* 與外界元素的距離為0 */
padding: 0px; /* 與內部元素的距離為0 */
width: auto; /* 寬度根據(jù)元素內容調整 */
}
.tab_box {
background-color: #465c71; /* 背景色 */
border: 1px #4e667d solid; /* 邊框 */
color: #dde4ec; /* 文字顏色 */
display: block; /* 此元素將顯示為塊級元素,此元素前后會帶有換行符 */
line-height: 1.35em; /* 行高 */
padding: 4px 20px; /* 內部填充的距離 */
text-decoration: none; /* 不顯示超鏈接下劃線 */
white-space: nowrap; /* 對于文本內的空白處,不會換行,文本會在在同一行上繼續(xù),直到遇到 <br> 標簽為止。 */
}
.selected {
background-color: green;
display: block;
}
.hide {
display: none;
}
</style>
•JQuery控制
<script>
// 加上鼠標的點擊效果
$(function(){
$("ul li").click(function(){
$(this).addClass("selected").siblings().removeClass("selected");
var index = $("ul li").index(this);
$("div.tab_box > div").eq(index).show().siblings().hide();
})
})
// 加上鼠標懸浮效果
$(function(){
$("div.tab_menu ul li").hover(function(){
$(this).addClass("selected").show();
// 下面的這個可以實現(xiàn)選項卡的聯(lián)動效果
var index = $("ul li").index(this);
$("div.tab_box > div").eq(index).show().siblings().hide();
},function(){
$(this).removeClass("selected").show();
// 下面的這個可以實現(xiàn)選項卡的聯(lián)動效果
var index = $("ul li").index(this);
$("div.tab_box > div").eq(index).show().siblings().hide();
})
})
</script>
業(yè)務核心
里面最關鍵的其實還是最為基礎的JQuery選擇器的使用,然后我們就可以動態(tài)的改變頁面上的元素,從而實現(xiàn)我們想要的效果。這也是JQuery的強大之處。
這里比較有技巧性的就是通過對ul li樣式的變換,實現(xiàn)了類似于導航欄的效果。我們可以借鑒到今后的開發(fā)之中。這是一個非常實用的小技巧。
// 使得UL中的li標簽水平排列
ul {
display:inline;
white-space: nowrap;
}
li {
margin:3px;
float:left;
background:red;
display:inline-block;
}
完整小例子
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tab Host Demo</title>
<script type="text/javascript" src="jquery-2.2.4.min.js"></script>
<style>
// 使得UL中的li標簽水平排列
ul {
display:inline;
white-space: nowrap;
}
li {
margin:3px;
float:left;
background:red;
display:inline-block;
}
.tab_menu {
list-style:none; /* 去掉ul前面的符號 */
margin: 0px; /* 與外界元素的距離為0 */
padding: 0px; /* 與內部元素的距離為0 */
width: auto; /* 寬度根據(jù)元素內容調整 */
}
.tab_box {
background-color: #465c71; /* 背景色 */
border: 1px #4e667d solid; /* 邊框 */
color: #dde4ec; /* 文字顏色 */
display: block; /* 此元素將顯示為塊級元素,此元素前后會帶有換行符 */
line-height: 1.35em; /* 行高 */
padding: 4px 20px; /* 內部填充的距離 */
text-decoration: none; /* 不顯示超鏈接下劃線 */
white-space: nowrap; /* 對于文本內的空白處,不會換行,文本會在在同一行上繼續(xù),直到遇到 <br> 標簽為止。 */
}
.selected {
background-color: green;
display: block;
}
.hide {
display: none;
}
</style>
</head>
<body>
<div class="tab">
<div class="tab_menu">
<ul>
<li class="selected">選項卡1</li>
<li>選項卡2</li>
<li>選項卡3</li>
</ul>
</div><br><br><br>
<div class="tab_box">
<div>選項卡1:這里是1號內容區(qū)域</div>
<div class="hide">選項卡2:這里是2號內容區(qū)域</div>
<div class="hide">選項卡3:這里是3號內容區(qū)域</div>
</div>
</div>
<script>
// 加上鼠標的點擊效果
$(function(){
$("ul li").click(function(){
$(this).addClass("selected").siblings().removeClass("selected");
var index = $("ul li").index(this);
$("div.tab_box > div").eq(index).show().siblings().hide();
})
})
// 加上鼠標懸浮效果
$(function(){
$("div.tab_menu ul li").hover(function(){
$(this).addClass("selected").show();
// 下面的這個可以實現(xiàn)選項卡的聯(lián)動效果
var index = $("ul li").index(this);
$("div.tab_box > div").eq(index).show().siblings().hide();
},function(){
$(this).removeClass("selected").show();
// 下面的這個可以實現(xiàn)選項卡的聯(lián)動效果
var index = $("ul li").index(this);
$("div.tab_box > div").eq(index).show().siblings().hide();
})
})
</script>
</body>
</html>
實現(xiàn)的效果如下:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
修復jQuery tablesorter無法正確排序的bug(加千分位數(shù)字后)
這篇文章主要介紹了如何修復jQuery tablesorter無法正確排序的bug(加千分位數(shù)字后)的相關資料,需要的朋友可以參考下2016-03-03
jQuery+ThinkPHP+Ajax實現(xiàn)即時消息提醒功能實例代碼
這篇文章主要介紹了jQuery+ThinkPHP+Ajax實現(xiàn)即時消息提醒功能的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-03-03
使用ajaxfileupload.js實現(xiàn)上傳文件功能
這篇文章主要為大家詳細介紹了使用ajaxfileupload.js實現(xiàn)上傳文件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08
jQuery不使用插件及swf實現(xiàn)無刷新文件上傳
這篇文章主要介紹了jQuery不使用插件及swf實現(xiàn)無刷新文件上傳,需要的朋友可以參考下2014-12-12
jQuery去掉字符串起始和結尾的空格(多種方法實現(xiàn))
去掉字符串起始和結尾的空格在實際應用中時很常見的的功能,本教程以多種方法為大家介紹下去掉空格的方法,感興趣的朋友可以參考下哈2013-04-04

