亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于jQuery實現Tabs選項卡自定義插件

2019-11-19 18:55:00
字體:
來源:轉載
供稿:網友

控件這東西網上找的多少都有些功能不如意的,只能自己動手來寫了。

Tabs插件很多人都需要用到,網上也有很多的例子,但是不是風格不搭調就是用著不習慣(自己寫的不一定比別人的好但用著順手In love)

下面直接貼代碼,不喜勿噴:

(function ($) { 'use strict'; var defaults = { type: "iframe", onchanged: null, style: {  header_panel: "tab-headers",  content_panel: "tab-contents",  header: "tab-header",  content: "tab-content",  selected: "selected",  icon_base: "fa",  icon_close: "fa-close" } } var methods = { init: function (options) {  return this.each(function () {  var $this = $(this);  if (!$this.hasClass("tw.tabs")) {   $this.addClass("tabs");  }  var settings = $this.data('tw.tabs');  if (typeof (settings) == 'undefined') {   settings = $.extend({}, defaults, options);   $this.data('tw.tabs', settings);  } else {   settings = $.extend({}, settings, options);   $this.data('tw.tabs', settings);  }  $this.empty();  $this.append($("<ul class='" + settings.style.header_panel + "'></ul>"));  $this.append($("<div class='" + settings.style.content_panel + "'></div>"));  if (settings.data) {   if (typeof settings.data === 'string') {   settings.data = $.parseJSON(settings.data);   }   $.each(settings.data, function () {   $this.tabs("add", this);   });  }  }); }, add: function (tab) {  var $this = $(this);  var settings = $this.data("tw.tabs");  var headers = $this.find("." + settings.style.header_panel);  var contents = $this.find("." + settings.style.content_panel);  if (headers.find("[data-tab='" + tab.id + "']").length == 0) {  var header = $("<li class='" + settings.style.header + "' data-tab='" + tab.id + "'>" +   "<i class='" + settings.style.icon_base + "" + tab.icon + "'></i>" +   "<span class='tab-title'>" + tab.name + "</span></li>");  if (tab.canClose) {   var close = $("<i class='" + settings.style.icon_base + "" + settings.style.icon_close + "'></i>");   close.click(function () {   $this.tabs("remove", tab.id);   });   header.append(close);  }  header.data("tw.tab", tab);  header.click(function () {   $this.tabs("select", tab);  });  headers.append(header);  var content = $("<div class='" + settings.style.content + "' data-tab='" + tab.id + "'></div>");  if (settings.type == "iframe") {   content.append("<iframe src='" + tab.url + "?target_id=" + tab.id + "'></iframe>");  } else if (settings.type == "ajax"){   $.ajax({   url: tab.url,   type: "post",   async: false,   data: { target_id: tab.id },   success: function (result) {    content.html(result);   }   });  } else {   content.html(tab.content);  }  contents.append(content);  if (tab.selected) {   $this.tabs("select", tab);  }  } else {  $this.tabs("select", tab);  } }, select: function (tab) {  var $this = $(this);  var settings = $this.data("tw.tabs");  $this.find("." + settings.style.selected).removeClass(settings.style.selected);  if (typeof tab == "object") {  $this.find("[data-tab='" + tab.id + "']").addClass(settings.style.selected);  } else {  $this.find("." + settings.style.header).eq(tab).addClass(settings.style.selected);  $this.find("." + settings.style.content).eq(tab).addClass(settings.style.selected);  }  if (settings.onchanged) {  settings.onchanged(tab);  } }, refresh: function () {  var $this = $(this);  var selected = $this.find("." + settings.style.selected);  var tab = $this.find("." + settings.style.header).data("tw.tab");  if (settings.type == "iframe") {  selected.find("iframe").attr('src', tab.url + "?target_id=" + tab.id);  } else if (settings.type == "ajax") {  $.ajax({   url: tab.url,   type: "post",   async: false,   data: { target_id: tab.id },   success: function (result) {   content.html(result);   }  });  } else {  content.html(tab.content);  } }, remove: function (id) {  var $this = $(this);  var settings = $this.data("tw.tabs");  var tab = $this.find("[data-tab='" + id + "']");  if (tab.find("." + settings.style.selected)) {  var index = tab.eq(0).index() - 1;  $this.tabs("select", index);  }  tab.remove(); }, destroy: function (options) {  return $(this).each(function () {  var $this = $(this);  $this.removeData('tabs');  }); } } $.fn.tabs = function () { var method = arguments[0]; var args = arguments; if (typeof (method) == 'object' || !method) {  method = methods.init; } else if (methods[method]) {  method = methods[method];  args = $.makeArray(arguments).slice(1); } else {  $.error('Method ' + method + ' does not exist on tw.tabs');  return this; } return method.apply(this, args); }})(jQuery);

.tabs { width:100%; height:100%;} .tabs .tab-headers { margin:0; padding:0 10px; height:40px; list-style:none; background:#f5f5f5; border-bottom:1px solid #ccc; } .tabs .tab-headers .tab-header {  float:left;  height:30px;  font-size:12px;  padding:7px 15px 0;  margin-top:10px;  margin-right:5px;  border:1px solid #ccc;  border-bottom:none;  position:relative;  cursor:pointer; }  .tabs .tab-headers .tab-header:hover {  background:#ccc;  color:#0094ff;  }  .tabs .tab-headers .tab-header.selected {  background:#fff;  border:none;  cursor:default;  padding-top:5px;  margin-left:1px;  margin-right:6px;  border-top:3px solid #0094ff;  }  .tabs .tab-headers .tab-header .tab-title {  margin-left:5px;  }  .tabs .tab-headers .tab-header .fa-close {  position:relative;  right:-6px;  top:0;  }  .tabs .tab-headers .tab-header .tab-close:hover {   color:#f00;   cursor:pointer;  } .tabs .tab-contents { width: 100%; height: calc(100% - 40px); } .tabs .tab-contents .tab-content {  display:none; }  .tabs .tab-contents .tab-content.selected {  display: block;  width: 100%;  height: 100%;  overflow: hidden;  }  .tabs .tab-contents .tab-content.selected iframe {   width: 100%;   height: 100%;   border: none;  }

本文已被整理到了jquery選項卡操作方法匯總、大家還可以點擊javascript選項卡操作方法匯總進行學習。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品亚洲一区二区三区在线播放| 国产人妖伪娘一区91| 精品呦交小u女在线| 久久免费视频网| 97香蕉久久超级碰碰高清版| 国产成人精品在线视频| 日韩电影大片中文字幕| 韩国国内大量揄拍精品视频| 国产美女91呻吟求| 国产一区二区日韩精品欧美精品| 久久视频在线直播| 在线看片第一页欧美| 国产精品一区久久久| 九色精品免费永久在线| 久久影院中文字幕| 在线观看国产精品日韩av| 在线看日韩av| 欧美在线视频一区| 久久国产精彩视频| 51色欧美片视频在线观看| 91精品国产综合久久香蕉| 91久久精品国产91久久性色| 久久资源免费视频| 亚洲激情久久久| 成人精品aaaa网站| 久久精品成人欧美大片| 亚洲国产欧美一区二区三区久久| 久久精品国产亚洲精品| 九九精品视频在线| 久久国产精品久久国产精品| 亚洲成色777777女色窝| 欧美日韩国产成人在线| 中日韩美女免费视频网站在线观看| 最近更新的2019中文字幕| 国产97人人超碰caoprom| 日韩a**中文字幕| 黑人与娇小精品av专区| 亚洲色图17p| 久热精品视频在线观看一区| 国产午夜精品视频免费不卡69堂| 日韩高清欧美高清| 色香阁99久久精品久久久| 亚洲乱码一区av黑人高潮| 91在线观看欧美日韩| 久久九九亚洲综合| 91在线无精精品一区二区| 国产精品劲爆视频| 日韩av网站电影| 国内精久久久久久久久久人| 亚洲女成人图区| 成人福利在线视频| 国产日韩在线播放| 亚洲人线精品午夜| 国产美女精品视频| 亚洲女性裸体视频| 亚洲国产另类久久精品| 在线观看成人黄色| 成人av在线网址| 国产精品九九九| 国产中文欧美精品| 精品香蕉在线观看视频一| 国产免费一区视频观看免费| 91成品人片a无限观看| 亚洲色图日韩av| 欧美精品国产精品日韩精品| 欧美一区视频在线| 国产精品88a∨| 国产精欧美一区二区三区| 国产成人精品久久久| 亚洲欧美一区二区三区久久| 久久久91精品| 亚洲福利精品在线| 68精品国产免费久久久久久婷婷| 777777777亚洲妇女| 国产精品91久久| 日韩精品在线观看一区| 国产精品一区二区3区| 日韩精品中文字幕视频在线| 精品视频久久久久久久| 尤物精品国产第一福利三区| 精品国产鲁一鲁一区二区张丽| 亚洲综合中文字幕68页| 精品福利樱桃av导航| 久久夜精品香蕉| 国产精品普通话| 国产黑人绿帽在线第一区| 狠狠躁天天躁日日躁欧美| 国产噜噜噜噜久久久久久久久| 在线成人激情黄色| 日本欧美中文字幕| 欧美中文字幕在线| 欧美xxxx14xxxxx性爽| 欧美性xxxxxxx| 久久精品视频免费播放| 一区二区在线免费视频| 成人春色激情网| 亚洲综合在线播放| 九九九久久国产免费| 精品久久久久久久久久ntr影视| 成人a在线视频| 日韩在线欧美在线国产在线| 国产精品久久久久久婷婷天堂| 日韩av在线电影网| 亚洲第一偷拍网| 九九久久久久久久久激情| 538国产精品一区二区免费视频| 欧美巨乳在线观看| 国产精品免费久久久久久| 亚洲一区www| 欧美成人免费在线视频| 欧美亚洲日本网站| 国产亚洲精品成人av久久ww| 日韩久久免费电影| 欧美刺激性大交免费视频| 欧美午夜激情在线| 国产一区二区三区四区福利| 91久久嫩草影院一区二区| xvideos亚洲| 国产精品96久久久久久| 精品日本美女福利在线观看| 国产v综合v亚洲欧美久久| 日韩在线观看成人| 欧美国产日本高清在线| 国产成人aa精品一区在线播放| 91成人精品网站| 91情侣偷在线精品国产| 日本久久中文字幕| 亚洲日本欧美中文幕| 亚洲香蕉在线观看| 色999日韩欧美国产| 在线日韩中文字幕| 欧美在线精品免播放器视频| zzjj国产精品一区二区| 国产91在线播放九色快色| 精品久久久国产精品999| 国产大片精品免费永久看nba| 欧美国产极速在线| 日韩中文字幕网址| 亚洲国产精品va在线| 欧美肥臀大乳一区二区免费视频| 国产高清视频一区三区| 亚洲色图17p| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产精品电影在线观看| 日韩精品免费在线视频| 欧美中在线观看| 精品久久久久久中文字幕一区奶水| 亚洲无限乱码一二三四麻| 国产精品入口免费视| 国产精品久久久久久av福利| 亚洲国产精品va在线| 亚洲国产另类久久精品| 亚洲视频专区在线| 久久精品免费电影| 国产成人综合亚洲| 国产主播喷水一区二区| 亚洲美女又黄又爽在线观看| 深夜精品寂寞黄网站在线观看| 日本精品视频网站| 国产成人精品综合久久久| 欧美日韩一二三四五区| 国产精品揄拍一区二区| 欧美激情精品久久久久久免费印度| 精品久久久国产|