国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript插件Tab選項卡效果

來源:懂視網 責編:小采 時間:2020-11-27 22:25:29
文檔

JavaScript插件Tab選項卡效果

JavaScript插件Tab選項卡效果:閑來無事,研究了一下JavaScript插件的寫法,今天就將自己寫的一個小插件記錄下來。 本文介紹了此款插件的基本用法,實現的功能以及代碼。 首先,來看看最終效果: 這是一款普通的Tab選項卡插件,下面來講講它實現了哪些功能: 1、支持不同鼠標事件觸發
推薦度:
導讀JavaScript插件Tab選項卡效果:閑來無事,研究了一下JavaScript插件的寫法,今天就將自己寫的一個小插件記錄下來。 本文介紹了此款插件的基本用法,實現的功能以及代碼。 首先,來看看最終效果: 這是一款普通的Tab選項卡插件,下面來講講它實現了哪些功能: 1、支持不同鼠標事件觸發

閑來無事,研究了一下JavaScript插件的寫法,今天就將自己寫的一個小插件記錄下來。

本文介紹了此款插件的基本用法,實現的功能以及代碼。

首先,來看看最終效果:

這是一款普通的Tab選項卡插件,下面來講講它實現了哪些功能:

1、支持不同鼠標事件觸發選項卡切換效果;
2、支持不同切換效果的配置,例如淡入淡出/直接切換;
3、支持默認展示第幾個選項卡的配置;
4、支持選項卡的自動切換效果。

例子很簡單,需要用到的知識包括:
1、html、css的基礎知識;
2、對this,prototype,new等關鍵詞的理解。

簡而言之,就是通過參數配置的形式來完成不同效果的展示。

下面先看一看如何使用:

1、$(".js-tab").etab();
2、$(".js-tab").etab({
                triggerType: "click",
                effect: "fade",
                invoke: 2,
                auto: 3000
            });
3、Tab.init($(".js-tab"));

本插件支持幾種不同的初始化方式,代碼很簡單,類似于BootStrap插件的使用方法。下面奉上完整的代碼:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Tab選項卡</title>
 <link href="tab.css" rel="stylesheet">
 <style>
 * {
 margin:0;
 padding:0;
 }
 body {
 background-color: #323232;
 font-size:12px;
 font-family:微軟雅黑;
 padding:100px;
 }
 ul, li {
 list-style-type: none;
 }
 </style>
 <script src="../lib/jquery-1.11.3.js"></script>
 <script type="text/javascript" src="tab.js"></script>
</head>
<body>
 <div class="js-tab tab">
 <ul class="tab-nav">
 <li class="active"><a href="#">新聞</a> </li>
 <li><a href="#">電影</a> </li>
 <li><a href="#">娛樂</a> </li>
 <li><a href="#">科技</a> </li>
 </ul>

 <div class="content-wrap">
 <div class="content-item current">
 <h3>新聞</h3>
 </div>
 <div class="content-item">
 <h3>電影</h3>
 </div>
 <div class="content-item">
 <h3>娛樂</h3>
 </div>
 <div class="content-item">
 <h3>科技</h3>
 </div>
 </div>
 </div>
 <script>
 $(function() {
// Tab.init($(".js-tab"));
 $(".js-tab").etab({
 triggerType: "click",
 effect: "fade",
 invoke: 2,
 auto: 3000
 });
 $(".js-tab").etab();
 });
 </script>
</body>
</html>
.tab {
 width: 300px;
}

.tab .tab-nav {
 height: 30px;
}

.tab .tab-nav li {
 float: left;
 margin-right:5px;
 background-color:#767676;
 border-radius:3px 3px 0 0;
}

.tab .tab-nav li a{
 display:block;
 height:30px;
 padding:0 20px;
 color: white;
 line-height:30px;
 text-decoration: none;
}

.tab .tab-nav .active {
 background-color: #fff;

}

.tab .tab-nav .active a{
 color: #777;
}

.tab .content-wrap{
 background-color: white;
 padding:5px;
 height:200px
}

.tab .content-wrap .content-item {
 position:absolute;
 height: 200px;
 display: none;
}

.tab .content-wrap .current {
 height: 200px;
 display: block;
}

最后將插件代碼列出來,在代碼里面已經寫了很詳細的注釋:

/**
 * Created by Wu.lin on 2017/11/12.
 */
(function($){

 var Tab = function(tab, _params) {
 var _this = this;

 //保存單個Tab組件
 this.tab = tab;

 this.params = _params;

 //默認配置參數
 this.config = {
 //用來定義鼠標的出發類型 "click"/mouseover
 "triggerType": "mouseover",

 //用來定義內容切換效果,直接切換/淡入淡出
 "effect": "default",

 //默認展示第幾個Tab
 "invoke": "1",

 //用來定義Tab是否自動切換,當指定了事件間隔,就表示自動切換,并指定了切換間隔
 "auto": false
 };

 //如果配置參數存在,就擴展默認的配置參數
 if(this.params){
 $.extend(this.config, this.params);
 }

 //保存Tab標簽列表,以及對應的內容列表
 this.tabItem = this.tab.find("ul.tab-nav li");
 this.contentItem = this.tab.find("div.content-wrap .content-item");

 //保存配置參數
 var config = this.config;

 if(config.triggerType === "click") {
 this.tabItem.bind(config.triggerType, function() {
 _this.invoke($(this));
 });

 } else {
 this.tabItem.mouseover(function(){
 _this.invoke($(this));
 });
 }

 //自動切換功能
 if(config.auto) {
 this.timmer = null;

 //計數器
 this.loop = 0;

 this.autoPlay();

 this.tab.hover(function() {
 window.clearInterval(_this.timmer);
 }, function() {
 _this.autoPlay();
 });
 }

 //設置默認顯示第幾個Tab
 if(config.invoke > 1) {
 this.invoke(this.tabItem.eq(config.invoke - 1));
 }


 };

 Tab.prototype = {

 //事件驅動函數
 invoke: function(currentTab) {

 /**
 * 1、執行Tab選中狀態,當前選中Tab加上Active,
 * 2、切換對應Tab內容,根據配置參數effect參數default|fade
 */

 var index = currentTab.index();
 var conItem = this.contentItem;

 //Tab切換
 currentTab.addClass("active").siblings().removeClass("active");

 //內容區域切換
 var effect = this.config.effect;

 if(effect === "fade") {
 conItem.eq(index).fadeIn().siblings().fadeOut();
 } else {
 conItem.eq(index).addClass("current").siblings().removeClass("current");
 }

 //注意,如果配置了自動切換,記得把當前的loop值設置為當前的Tab的index
 if(this.config.auto) {
 this.loop = index;
 }
 },

 //自動間隔切換
 autoPlay: function() {

 var _this_ = this,
 tabItems = this.tabItem, //臨時保存Tab列表
 tabLength = tabItems.size(),
 config = this.config;

 this.timmer = window.setInterval(function() {
 _this_.loop++;
 if(_this_.loop >= tabLength) {
 _this_.loop = 0;
 }

 tabItems.eq(_this_.loop).trigger(config.triggerType);
 }, config.auto);

 }
 };

 Tab.init = function(tabs) {
 var _this_ = this;
 tabs.each(function() {
 new _this_($(this));
 });
 // var tab = new Tab($(".js-tab").eq(0));
 };

 //注冊成JQuery方法
 $.fn.extend({
 etab: function(_param) {
 this.each(function () {
 new Tab($(this), _param);
 });
 return this;
 }
 });

 window.Tab = Tab;

})(jQuery);

如此看來,是不是很簡單,一起來動手試試吧!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript插件Tab選項卡效果

JavaScript插件Tab選項卡效果:閑來無事,研究了一下JavaScript插件的寫法,今天就將自己寫的一個小插件記錄下來。 本文介紹了此款插件的基本用法,實現的功能以及代碼。 首先,來看看最終效果: 這是一款普通的Tab選項卡插件,下面來講講它實現了哪些功能: 1、支持不同鼠標事件觸發
推薦度:
標簽: js 效果 javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲国产精品免费观看 | 欧美aa在线观看 | 精品一区二区三区在线成人 | 精品国产日韩亚洲一区91 | 国产在线一区二区三区欧美 | 日韩精品一区在线 | 能看毛片的网站 | 欧日韩视频 | 91在线精品亚洲一区二区 | 国产三级网站在线观看 | 久久香蕉国产线看观看乱码 | 最近中文字幕无日本电影 | 亚洲第一页在线播放 | 国产精品免费大片一区二区 | 自拍偷拍 欧美日韩 | 特黄日韩免费一区二区三区 | 欧美午夜在线视频 | 日韩在线视频观看 | 国产亚洲人成a在线v网站 | 欧美专区日韩 | 欧美精品在线一区 | 国产成人综合久久精品亚洲 | 在线观看亚洲一区 | 国产高清精品一级毛片 | 日韩国产欧美一区二区三区在线 | 日韩一区二区三区在线视频 | 精品久久亚洲一级α | 国产一区二区三区在线 | 亚欧日韩| 九九51精品国产免费看 | 亚洲欧美韩日 | 91精品一区二区三区在线观看 | 偷拍第一页 | 欧美日韩性视频在线 | 欧美人与禽交zozo | 看全色黄大色黄女片爽毛片 | 91精品一区二区三区久久久久 | 久久福利免费视频 | 亚洲人成网站999久久久综合 | 久久精品最新免费国产成人 | 日韩欧美激情 |