歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 簡單的jQuery選項卡插件

簡單的jQuery選項卡插件

日期:2017/3/1 10:30:49   编辑:Linux編程

其實像這類選項卡的插件網上也很多,只是個人覺得自己弄一個更好,畢竟自己弄的東西,自己修改起來也輕松。

原理其實也是很簡單的,關鍵在於樣式的定義。

原本想直接使用jquery的 ui,無奈懶得理,感覺jquery ui很強大,但是用起來也很麻煩,要引用的樣式也多。主要是樣式不好修改。

並且我也只想使用選項卡的功能,何必整這麼多樣式呢。最主要的還是不好修改樣式。

  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head runat="server">
  4. <title></title>
  5. <script src="/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
  6. <style type="text/css">
  7. a {
  8. text-decoration: none;
  9. }
  10. ul, li, p {
  11. list-style-type: none;
  12. margin: 0px;
  13. padding: 0px;
  14. font-size: 12px;
  15. }
  16. #tabs {
  17. width: 600px;
  18. border: solid 1px #dddddd;
  19. margin: 50px auto;
  20. padding: 5px;
  21. overflow: hidden;
  22. border-top-left-radius: 4px;
  23. border-top-right-radius: 4px;
  24. border-bottom-left-radius: 4px;
  25. border-bottom-right-radius: 4px;
  26. }
  27. #tabs ul.tabs_header {
  28. display: block;
  29. position: relative;
  30. border-top-left-radius: 4px;
  31. border-top-right-radius: 4px;
  32. border: 1px solid #aaaaaa;
  33. background-color: #cccccc;
  34. padding: 5px 5px 0px;
  35. clear: both;
  36. height: 26px;
  37. line-height: 26px;
  38. }
  39. #tabs ul.tabs_header li {
  40. border: solid 1px #d3d3d3;
  41. border-bottom: 0 none !important;
  42. float: left;
  43. list-style: none outside none;
  44. margin: 0px 5px;
  45. position: relative;
  46. top: 1px;
  47. height: 24px;
  48. /*此處要加上背景顏色,否則ie6下沒有邊框,(奇怪)有時在ie6下邊框會不出現,剛剛又試了了一下居然又不出現問題了*/
  49. background-color: #F2F2F2;
  50. /*圓角樣式,較新版本的浏覽器才支持,ff8.0支持,ie只有ie9支持*/
  51. border-top-left-radius: 4px;
  52. border-top-right-radius: 4px;
  53. padding: 0px 5px;
  54. }
  55. #tabs .tabs_header li a {
  56. color: #333;
  57. }
  58. #tabs .tabs_header li.hover {
  59. border: solid 1px #AAAAAA;
  60. background-color: #E4E4E4;
  61. }
  62. #tabs .tabs_header li.active {
  63. padding-bottom: 1px;
  64. margin-bottom: 0px;
  65. border: solid 1px #AAAAAA;
  66. background-color: #FFFFFF;
  67. }
  68. #tabs div.tabs_content {
  69. border: solid 1px #AAAAAA;
  70. padding: 10px;
  71. border-top: none;
  72. overflow: hidden;
  73. }
  74. </style>
  75. </head>
  76. <body>
  77. <div id="tabs">
  78. <ul class="tabs_header">
  79. <li><a href="###">選項卡一</a></li>
  80. <li><a href="###">選項卡二</a></li>
  81. <li><a href="###">選項卡三</a></li>
  82. </ul>
  83. <div class="tabs_content">
  84. <p>
  85. 這是選項卡一的內容?<br />
  86. 這是選項卡一的內容?<br />
  87. 這是選項卡一的內容?<br />
  88. 這是選項卡一的內容?<br />
  89. 這是選項卡一的內容?<br />
  90. 這是選項卡一的內容?<br />
  91. 這是選項卡一的內容?
  92. </p>
  93. </div>
  94. <div class="tabs_content">
  95. <p>
  96. 這是選項卡二的內容?<br />
  97. 這是選項卡二的內容?<br />
  98. 這是選項卡二的內容?<br />
  99. 這是選項卡二的內容?<br />
  100. 這是選項卡二的內容?<br />
  101. 這是選項卡二的內容?<br />
  102. 這是選項卡二的內容?
  103. </p>
  104. </div>
  105. <div class="tabs_content">
  106. <p>
  107. 這是選項卡三的內容?<br />
  108. 這是選項卡三的內容?<br />
  109. 這是選項卡三的內容?<br />
  110. 這是選項卡三的內容?<br />
  111. 這是選項卡三的內容?<br />
  112. 這是選項卡三的內容?<br />
  113. 這是選項卡三的內容?
  114. </p>
  115. </div>
  116. </div>
  117. <script type="text/javascript">
  118. $(document).ready(function () {
  119. $("#tabs").tabs();
  120. });
  121. </script>
  122. <script type="text/javascript">
  123. (function ($) {
  124. $.fn.tabs = function () {
  125. var content = this.find("div");
  126. var list = this.find("ul.tabs_header").find("li");
  127. content.hide();
  128. content.eq(0).show();
  129. list.eq(0).addClass("active");
  130. list.each(function (i) {
  131. $(this).bind({
  132. click: function () {
  133. list.removeClass("active");
  134. content.hide();
  135. content.eq(i).css("display", "");
  136. $(this).addClass("active");
  137. },
  138. mousemove: function () {
  139. $(this).addClass("hover");
  140. },
  141. mouseout: function () {
  142. $(this).removeClass("hover");
  143. }
  144. });
  145. });
  146. }
  147. })(jQuery);
  148. </script>
  149. </body>
  150. </html>

經測試在ie6+,ie6+下都能正常使用。兼容還是很好的。

來幾張圖吧:

這是火狐8.0下的效果,圓角邊直接用樣式來定義


這是ie6.0下的效果,沒有圓角邊。

jquery ui的選項卡ui在ie6.0下是不正常的,呵呵,被我修復了這個問題。

Copyright © Linux教程網 All Rights Reserved