中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery插件開發之選項卡制作詳解

發布時間:2020-10-05 07:33:29 來源:腳本之家 閱讀:229 作者:ghostwu 欄目:web開發

在jquery中,插件開發常見的有:

一種是為$函數本身擴展一個方法,這種是靜態擴展(也叫類擴展),這種插件一般是工具方法,

還有一種是擴展在原型對象$.fn上面的,開發出來的插件是用在dom元素上面的

一、類級別的擴展

$.showMsg = function(){
   alert('hello,welcome to study jquery plugin dev');
  }
  // $.showMsg();

注意要提前引入jquery庫, 上例在$函數上面添加了一個方法showMsg,那么就可以用$.showMsg()調用了

$.showName = function(){
   console.log( 'ghostwu' );
  }
  $.showName();

這種插件比較少見,一般都是用來開發工具方法,如jquery中的$.trim, $.isArray()等等

二、把功能擴展在$.fn上,

這種插件就是用在元素上,比如,我擴展一個功能,點擊按鈕,顯示當前按鈕的值

$.fn.showValue = function(){
  return $(this).val();
}

  $(function(){
   $("input").click(function(){
    // alert($(this).showMsg());
    alert($(this).showMsg());
   });
  });

<input type="button" value="點我">

在$.fn上添加一個showValue方法, 返回當前元素的value值. 在獲取到頁面input元素,綁定事件之后,就可以調用這個方法,顯示按鈕的值 "點我",在實際插件開發中,常用的就是這種.接下來,我們就用這種擴展機制開發一個簡單的選項卡插件:

jquery插件開發之選項卡制作詳解

頁面布局與樣式:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <script src="https://cdn.bootcss.com/jquery/1.12.0/jquery.js"></script>
 <style>
  #tab {
   width:400px;
   height:30px;
  }
  #tab li, #tab ul {
   list-style-type:none;
  }
  #tab ul {
   width:400px;
   height: 30px;
   border-bottom:1px solid #ccc;
   line-height: 30px;
  }
  #tab ul li {
   float:left;
   margin-left: 20px;
   padding:0px 10px;
  }
  #tab ul li.active {
   background: yellow;
  }
  #tab ul li a {
   text-decoration: none;
   color:#666;
  }
  #tab div {
   width:400px;
   height:350px;
   background-color:#ccc;
  }
  .clearfix:after{
   content: '';
   display: block;
   clear: both;
   height: 0;
   visibility: hidden;
  }
 </style>
 <script src="tab2.js"></script>
 <script>
  $(function(){
   $("#tab").tabs( { evType : 'mouseover' } );
  });
 </script>
</head>
<body>
 <div id="tab">
  <ul class="clearfix">
   <li><a href="#tab1">選項1</a></li>
   <li><a href="#tab2">選項2</a></li>
   <li><a href="#tab3">選項3</a></li>
  </ul>
  <div id="tab1">作者:ghostwu(1)
   <div>博客: http://www.cnblogs.com/ghostwu/</div>
  </div>
  <div id="tab2">作者:ghostwu(2)
   <div>博客: http://www.cnblogs.com/ghostwu/</div>
  </div>
  <div id="tab3">作者:ghostwu(3)
   <div>博客: http://www.cnblogs.com/ghostwu/</div>
  </div>
 </div>
</body>
</html>

tab2.js文件

;(function ($) {
 $.fn.tabs = function (opt) {
  var def = { evType: "click" }; //定義了一個默認配置
  var opts = $.extend({}, def, opt);
  var obj = $(this);

  $("ul li:first", obj).addClass("active");
  obj.children("div").hide();
  obj.children("div").eq(0).show();

  $("ul li", obj).bind(opts.evType, function () {
   $(this).attr("class", "active").siblings("li").attr("class","");
   var id = $(this).find("a").attr("href").substring(1);
   obj.children("div").hide();
   $("#" + id, obj).show();
  });
 };
})(jQuery);

1,一個自執行函數,把插件封裝成模塊,把jQuery對象傳給形參$

2,第3行,定義一個默認配置,選項卡的觸發類型,默認為點擊事件

3,第4行,如果opt傳參,就用opt的配置,否者就用第3行的默認配置,這行的作用就是為了在不改變插件源碼的情況下,可以配置插件的表現形式

4,第7-9行,讓選項卡第一個div顯示,其余的都隱藏,讓第一個tab加上class='active' 黃色高亮選中

5,第11-16行,點擊對應的選項卡,讓對應的div顯示與隱藏

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林右旗| 德钦县| 黑山县| 阿图什市| 峡江县| 建德市| 响水县| 靖安县| 双辽市| 纳雍县| 乌拉特中旗| 阿克| 泌阳县| 祁连县| 建瓯市| 札达县| 合肥市| 荥阳市| 保亭| 义乌市| 旺苍县| 汉中市| 平泉县| 静乐县| 临安市| 罗源县| 肇源县| 霍邱县| 鸡西市| 甘德县| 宾川县| 怀柔区| 麟游县| 封丘县| 繁昌县| 平泉县| 潜江市| 静安区| 吉安县| 龙里县| 逊克县|