jquery ui tab

17 篇文章 0 订阅
[javascript]  view plain copy print ?
  1. JQuery UI - tabs 收藏  
  2.   
  3. 1. ·概述    
  4.   
  5. 2. 标签页插件通常用于将内容分解成多个部分,可交换查看,节省空间。有点类似于手风琴插件。    
  6.   
  7. 3. 官方示例地址:http://jqueryui.com/demos/tabs/    
  8.   
  9. 4.     
  10.   
  11. 5.     
  12.   
  13. 6. ·丰富的事件支持:     
  14.   
  15. 7.   tabsselect, tabsload, tabsshow    
  16.   
  17. 8.   tabsadd, tabsremove     
  18.   
  19. 9.   tabsenable, tabsdisable     
  20.   
  21. 10.     
  22.   
  23. 11.   事件绑定示例:     
  24.   
  25. 12.   $('#example').bind('tabsselect'function(event, ui) {    
  26.   
  27. 13.       // 在事件函数的上下文中可使用:    
  28.   
  29. 14.       ui.tab     // 锚元素选中的标签页    
  30.   
  31. 15.       ui.panel   // 锚元素选中的标签页的内容    
  32.   
  33. 16.       ui.index   // 锚元素选中的标签页的索引(从0开始)    
  34.   
  35. 17.   });    
  36.   
  37. 18.   注意:一个tabsselect事件如果返回false,那么新的标签页将不会被激活。(可用于验证表单内容)    
  38.   
  39. 19.     
  40.   
  41. 20. ·Ajax模式:    
  42.   
  43. 21.   标签页插件支持通过ajax动态加载一个标签的内容。     
  44.   
  45. 22.   你需要的仅是一个带有链接的HTML列表,告诉插件需要到哪获取内容。    
  46.   
  47. 23.   <div id="example">    
  48.   
  49. 24.       <ul>    
  50.   
  51. 25.           <li><a href="ahah_1.html" mce_href="ahah_1.html"><span>Content 1</span></a></li>    
  52.   
  53. 26.           <li><a href="ahah_2.html" mce_href="ahah_2.html"><span>Content 2</span></a></li>    
  54.   
  55. 27.           <li><a href="ahah_3.html" mce_href="ahah_3.html"><span>Content 3</span></a></li>    
  56.   
  57. 28.       </ul>    
  58.   
  59. 29.   </div>    
  60.   
  61. 30.   显然,这将会减缓内容加载的速度。    
  62.   
  63. 31.     
  64.   
  65. 32.   注意:如果你要重用一个标签页容器,你可以试着匹配其title属性和容器的id,    
  66.   
  67. 33.   例如: <li><a href="hello/world.html" mce_href="hello/world.html" title="Todo Overview"> ... </a></li>    
  68.   
  69. 34.   容器: <div id="Todo_Overview"> ... </div>    
  70.   
  71. 35.     
  72.   
  73. 36.     
  74.   
  75. 37. ·关于后退按钮和书签    
  76.   
  77. 38.   Tabs 2 已经支持此功能(不支持Safari 3)    
  78.   
  79. 39.     
  80.   
  81. 40. ·How to...    
  82.   
  83. 41.     ·检索选中标签的索引    
  84.   
  85. 42.     var $tabs = $('#example').tabs();    
  86.   
  87. 43.     var selected = $tabs.tabs('option''selected'); // => 0    
  88.   
  89. 44.         
  90.   
  91. 45.     ·在当前标签中打开链接,而不是跳转页面    
  92.   
  93. 46.     $('#example').tabs({    
  94.   
  95. 47.         load: function(event, ui) {    
  96.   
  97. 48.             $('a', ui.panel).click(function() {    
  98.   
  99. 49.                 $(ui.panel).load(this.href);    
  100.   
  101. 50.                 return false;    
  102.   
  103. 51.             });    
  104.   
  105. 52.         }    
  106.   
  107. 53.     });    
  108.   
  109. 54.         
  110.   
  111. 55.     ·点击链接跳转到指定的标签页(非标签头链接)    
  112.   
  113. 56.     var $tabs = $('#example').tabs(); // 选中第一个标签    
  114.   
  115. 57.     $('#my-text-link').click(function() { // 绑定点击事件    
  116.   
  117. 58.         $tabs.tabs('select', 2); // 激活第三个标签    
  118.   
  119. 59.         return false;    
  120.   
  121. 60.     });    
  122.   
  123. 61.         
  124.   
  125. 62.     ·选中表单前验证    
  126.   
  127. 63.     $('#example').tabs({    
  128.   
  129. 64.         select: function(event, ui) {    
  130.   
  131. 65.             var isValid = ... // 表单验证返回结果true或false    
  132.   
  133. 66.             return isValid;    
  134.   
  135. 67.         }    
  136.   
  137. 68.     });    
  138.   
  139. 69.         
  140.   
  141. 70.     ·添加一个标签并选中    
  142.   
  143. 71.     var $tabs = $('#example').tabs({    
  144.   
  145. 72.         add: function(event, ui) {    
  146.   
  147. 73.             $tabs.tabs('select''#' + ui.panel.id);    
  148.   
  149. 74.         }    
  150.   
  151. 75.     });    
  152.   
  153. 76.         
  154.   
  155. 77.     ·follow a tab's URL instead of loading its content via ajax    
  156.   
  157. 78.     Note that opening a tab in a new window is unexpected, e.g. inconsistent behaviour exposing a usablity problem (http://www.useit.com/alertbox/tabs.html).     
  158.   
  159. 79.     $('#example').tabs({    
  160.   
  161. 80.         select: function(event, ui) {    
  162.   
  163. 81.             var url = $.data(ui.tab, 'load.tabs');    
  164.   
  165. 82.             if( url ) {    
  166.   
  167. 83.                 location.href = url;    
  168.   
  169. 84.                 return false;    
  170.   
  171. 85.             }    
  172.   
  173. 86.             return true;    
  174.   
  175. 87.         }    
  176.   
  177. 88.     });    
  178.   
  179. 89.         
  180.   
  181. 90.     ·prevent a FOUC (Flash of Unstyled Content) before tabs are initialized    
  182.   
  183. 91.     Add the necessary classes to hide an inactive tab panel to the HTML right away - note that this will not degrade gracefully with JavaScript being disabled:     
  184.   
  185. 92.     <div id="example" class="ui-tabs">    
  186.   
  187. 93.       ...    
  188.   
  189. 94.       <div id="a-tab-panel" class="ui-tabs-hide"> </div>    
  190.   
  191. 95.       ...    
  192.   
  193. 96.     </div>    
  194.   
  195. 97.     
  196.   
  197. 98.     
  198.   
  199. 99. ·参数(参数名 : 参数类型 : 默认名称)    
  200.   
  201. 100. ajaxOptions : Options : null    
  202.   
  203. 101.   Ajax加载标签内容时,附加的参数 (详见 $.ajax)。    
  204.   
  205. 102.   初始:$('.selector').tabs({ ajaxOptions: { async: false } });    
  206.   
  207. 103.   获取:var ajaxOptions = $('.selector').tabs('option''ajaxOptions');    
  208.   
  209. 104.   设置:$('.selector').tabs('option''ajaxOptions', { async: false });    
  210.   
  211. 105.     
  212.   
  213. 106. cache : Boolean : false    
  214.   
  215. 107.   是否缓存Ajax加载的标签内容,如果缓存则只在第一次加载时获取。    
  216.   
  217. 108.   初始:$('.selector').tabs({ cache: true });    
  218.   
  219. 109.   获取:var cache = $('.selector').tabs('option''cache');    
  220.   
  221. 110.   设置:$('.selector').tabs('option''cache'true);    
  222.   
  223. 111.     
  224.   
  225. 112. collapsible : Boolean : false    
  226.   
  227. 113.   设置为true,则允许一个已选中的标签变成未选中状态。    
  228.   
  229. 114.   初始:$('.selector').tabs({ collapsible: true });    
  230.   
  231. 115.   获取:var collapsible = $('.selector').tabs('option''collapsible');    
  232.   
  233. 116.   设置:$('.selector').tabs('option''collapsible'true);    
  234.   
  235. 117.     
  236.   
  237. 118. cookie : Object : null    
  238.   
  239. 119.   利用cookie记录最后选中的标签,需要cookie插件支持。    
  240.   
  241. 120.   初始:$('.selector').tabs({ cookie: { expires: 30 } });    
  242.   
  243. 121.   获取:var cookie = $('.selector').tabs('option''cookie');    
  244.   
  245. 122.   设置:$('.selector').tabs('option''cookie', { expires: 30 });    
  246.   
  247. 123.     
  248.   
  249. 124. deselectable : Boolean : false    
  250.   
  251. 125.   设置标签插件为不可选中的。(不推荐使用在1.7版本,应使用collapsible)    
  252.   
  253. 126.   初始:$('.selector').tabs({ deselectable: true });    
  254.   
  255. 127.   获取:var deselectable = $('.selector').tabs('option''deselectable');    
  256.   
  257. 128.   设置:$('.selector').tabs('option''deselectable'true);    
  258.   
  259. 129.     
  260.   
  261. 130. disabled : Array : []    
  262.   
  263. 131.   在加载时,禁用哪些标签页,填写标签页的索引。    
  264.   
  265. 132.   初始:$('.selector').tabs({ disabled: [1, 2] });    
  266.   
  267. 133.   获取:var disabled = $('.selector').tabs('option''disabled');    
  268.   
  269. 134.   设置:$('.selector').tabs('option''disabled', [1, 2]);    
  270.   
  271. 135.     
  272.   
  273. 136. event : String : 'click'    
  274.   
  275. 137.   设置什么事件将触发选中一个标签页。    
  276.   
  277. 138.   初始:$('.selector').tabs({ event: 'mouseover' });    
  278.   
  279. 139.   获取:var event = $('.selector').tabs('option''event');    
  280.   
  281. 140.   设置:$('.selector').tabs('option''event''mouseover');    
  282.   
  283. 141.     
  284.   
  285. 142. fx : Options, Array : null    
  286.   
  287. 143.   启用动画效果当标签页显示和隐藏。    
  288.   
  289. 144.   初始:$('.selector').tabs({ fx: { opacity: 'toggle' } });    
  290.   
  291. 145.   获取:var fx = $('.selector').tabs('option''fx');    
  292.   
  293. 146.   设置:$('.selector').tabs('option''fx', { opacity: 'toggle' });    
  294.   
  295. 147.     
  296.   
  297. 148. idPrefix : String : 'ui-tabs-'    
  298.   
  299. 149.   If the remote tab, its anchor element that is, has no title attribute to generate an id from, an id/fragment identifier is created from this prefix and a unique id returned by $.data(el), for example "ui-tabs-54".    
  300.   
  301. 150.   初始:$('.selector').tabs({ idPrefix: 'ui-tabs-primary' });    
  302.   
  303. 151.   获取:var idPrefix = $('.selector').tabs('option''idPrefix');    
  304.   
  305. 152.   设置:$('.selector').tabs('option''idPrefix''ui-tabs-primary');    
  306.   
  307. 153.     
  308.   
  309. 154. panelTemplate : String : '<div></div>'    
  310.   
  311. 155.   当动态添加一个标签容器时,它的容器的HTML元素。    
  312.   
  313. 156.   初始:$('.selector').tabs({ panelTemplate: '<li></li>' });    
  314.   
  315. 157.   获取:var panelTemplate = $('.selector').tabs('option''panelTemplate');    
  316.   
  317. 158.   设置:$('.selector').tabs('option''panelTemplate''<li></li>');    
  318.   
  319. 159.     
  320.   
  321. 160. selected : Number : 0    
  322.   
  323. 161.   设置初始化时,选中的标签页的索引(从0开始)。如果全部未选中,则使用-1    
  324.   
  325. 162.   初始:$('.selector').tabs({ selected: 3 });     
  326.   
  327. 163.   获取:var selected = $('.selector').tabs('option''selected');    
  328.   
  329. 164.   设置:$('.selector').tabs('option''selected', 3);    
  330.   
  331. 165.     
  332.   
  333. 166. spinner : String : '<em>Loading…</em>'    
  334.   
  335. 167.   设置当从远程加载内容时,标签的标题显示的文本内容,如果设置为空则停用此行为。    
  336.   
  337. 168.   初始:$('.selector').tabs({ spinner: 'Retrieving data...' });    
  338.   
  339. 169.   获取:var spinner = $('.selector').tabs('option''spinner');    
  340.   
  341. 170.   设置:$('.selector').tabs('option''spinner''Retrieving data...');    
  342.   
  343. 171.     
  344.   
  345. 172. tabTemplate : String : '<li><a href="#{href}" mce_href="#{href}"><span>#{label}</span></a></li>'    
  346.   
  347. 173.   当动态添加一个标签页时,它的标签样式,#{href}和#{label}是用于替换add时的参数。    
  348.   
  349. 174.   初始:$('.selector').tabs({ tabTemplate: '<div><a href="#{href}" mce_href="#{href}"><span>#{label}</span></a></div>' });    
  350.   
  351. 175.   获取:var tabTemplate = $('.selector').tabs('option''tabTemplate');    
  352.   
  353. 176.   设置:$('.selector').tabs('option''tabTemplate''<div><a href="#{href}" mce_href="#{href}"><span>#{label}</span></a></div>');    
  354.   
  355. 177.     
  356.   
  357. 178.     
  358.   
  359. 179. ·事件    
  360.   
  361. 180. select : tabsselect    
  362.   
  363. 181.   当点击一个标签标题时,触发此事件。    
  364.   
  365. 182.   初始:$('.selector').tabs({ select: function(event, ui) { ... } });    
  366.   
  367. 183.   绑定:$('.selector').bind('tabsselect'function(event, ui) { ... });    
  368.   
  369. 184.     
  370.   
  371. 185. load : tabsload    
  372.   
  373. 186.   当远程加载一个标签页内容完成后,触发此事件。    
  374.   
  375. 187.   初始:$('.selector').tabs({ load: function(event, ui) { ... } });    
  376.   
  377. 188.   绑定:$('.selector').bind('tabsload'function(event, ui) { ... });    
  378.   
  379. 189.     
  380.   
  381. 190. show : tabsshow    
  382.   
  383. 191.   当一个标签页内容显示出来后,触发此事件。    
  384.   
  385. 192.   初始:$('.selector').tabs({ show: function(event, ui) { ... } });    
  386.   
  387. 193.   绑定:$('.selector').bind('tabsshow'function(event, ui) { ... });    
  388.   
  389. 194.     
  390.   
  391. 195. add : tabsadd    
  392.   
  393. 196.   当添加一个标签页后,触发此事件。    
  394.   
  395. 197.   初始:$('.selector').tabs({ add: function(event, ui) { ... } });    
  396.   
  397. 198.   绑定:$('.selector').bind('tabsadd'function(event, ui) { ... });    
  398.   
  399. 199.     
  400.   
  401. 200. remove : tabsremove    
  402.   
  403. 201.   当移除一个标签页后,触发此事件。    
  404.   
  405. 202.   初始:$('.selector').tabs({ remove: function(event, ui) { ... } });    
  406.   
  407. 203.   绑定:$('.selector').bind('tabsremove'function(event, ui) { ... });    
  408.   
  409. 204.     
  410.   
  411. 205. enable : tabsenable    
  412.   
  413. 206.   当一个标签页被设置成启用后,触发此事件。    
  414.   
  415. 207.   初始:$('.selector').tabs({ enable: function(event, ui) { ... } });    
  416.   
  417. 208.   绑定:$('.selector').bind('tabsenable'function(event, ui) { ... });    
  418.   
  419. 209.     
  420.   
  421. 210. disable : tabsdisable    
  422.   
  423. 211.   当一个标签页被设置成禁用后,触发此事件。    
  424.   
  425. 212.   初始:$('.selector').tabs({ disable: function(event, ui) { ... } });    
  426.   
  427. 213.   绑定:$('.selector').bind('tabsdisable'function(event, ui) { ... });    
  428.   
  429. 214.     
  430.   
  431. 215.     
  432.   
  433. 216. ·属性    
  434.   
  435. 217. destroy    
  436.   
  437. 218.   销毁一个标签插件对象。    
  438.   
  439. 219.   用法:.tabs( 'destroy' )    
  440.   
  441. 220.     
  442.   
  443. 221. disable    
  444.   
  445. 222.   禁用标签插件。    
  446.   
  447. 223.   用法:.tabs( 'disable' )    
  448.   
  449. 224.     
  450.   
  451. 225. enable    
  452.   
  453. 226.   启用标签插件。    
  454.   
  455. 227.   用法:.tabs( 'enable' )    
  456.   
  457. 228.     
  458.   
  459. 229. option    
  460.   
  461. 230.   获取或设置标签插件的参数。    
  462.   
  463. 231.   用法:.tabs( 'option' , optionName , [value] )    
  464.   
  465. 232.     
  466.   
  467. 233. add    
  468.   
  469. 234.   添加一个标签页。    
  470.   
  471. 235.   用法:.tabs( 'add' , url , label , [index] )    
  472.   
  473. 236.     
  474.   
  475. 237. remove    
  476.   
  477. 238.   移除一个标签页。    
  478.   
  479. 239.   用法:.tabs( 'remove' , index )    
  480.   
  481. 240.     
  482.   
  483. 241. enable    
  484.   
  485. 242.   启用一组标签页。    
  486.   
  487. 243.   用法:.tabs( 'enable' , index ) //index是数组    
  488.   
  489. 244.     
  490.   
  491. 245. disable    
  492.   
  493. 246.   禁用一组标签页。    
  494.   
  495. 247.   用法:.tabs( 'disable' , index ) //index是数组    
  496.   
  497. 248.     
  498.   
  499. 249. select    
  500.   
  501. 250.   选中一个标签页。    
  502.   
  503. 251.   用法:.tabs( 'select' , index )    
  504.   
  505. 252.     
  506.   
  507. 253. load    
  508.   
  509. 254.   重新加载一个ajax标签页的内容。    
  510.   
  511. 255.   用法:.tabs( 'load' , index )    
  512.   
  513. 256.     
  514.   
  515. 257. url    
  516.   
  517. 258.   改变一个Ajax标签页的URL。    
  518.   
  519. 259.   用法:.tabs( 'url' , index , url )    
  520.   
  521. 260.     
  522.   
  523. 261. length    
  524.   
  525. 262.   获取标签页的数量。    
  526.   
  527. 263.   用法:.tabs( 'length' )    
  528.   
  529. 264.       
  530.   
  531. 265. abort    
  532.   
  533. 266.   终止正在进行Ajax请求的的标签页的加载和动画。    
  534.   
  535. 267.   用法:.tabs( 'abort' )    
  536.   
  537. 268.     
  538.   
  539. 269. rotate    
  540.   
  541. 270.   自动滚动显示标签页。    
  542.   
  543. 271.   用法:.tabs( 'rotate' , ms , [continuing] ) //第二个参数是停留时间,第三个参数是当用户选中一个标签页后是否继续执行    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值