UU跑腿标准版

ligerEasyTab.js 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * jQuery ligerUI 1.2.4
  3. *
  4. * http://ligerui.com
  5. *
  6. * Author daomi 2014 [ gd_star@163.com ]
  7. *
  8. */
  9. (function ($)
  10. {
  11. $.fn.ligerEasyTab = function ()
  12. {
  13. return $.ligerui.run.call(this, "ligerEasyTab", arguments);
  14. };
  15. $.fn.ligerGetEasyTabManager = function ()
  16. {
  17. return $.ligerui.run.call(this, "ligerGetEasyTabManager", arguments);
  18. };
  19. $.ligerDefaults.EasyTab = {};
  20. $.ligerMethos.EasyTab = {};
  21. $.ligerui.controls.EasyTab = function (element, options)
  22. {
  23. $.ligerui.controls.EasyTab.base.constructor.call(this, element, options);
  24. };
  25. $.ligerui.controls.EasyTab.ligerExtend($.ligerui.core.UIComponent, {
  26. __getType: function ()
  27. {
  28. return 'EasyTab';
  29. },
  30. __idPrev: function ()
  31. {
  32. return 'EasyTab';
  33. },
  34. _extendMethods: function ()
  35. {
  36. return $.ligerMethos.EasyTab;
  37. },
  38. _render: function ()
  39. {
  40. var g = this, p = this.options;
  41. g.tabs = $(this.element);
  42. g.tabs.addClass("l-easytab");
  43. var selectedIndex = 0;
  44. if ($("> div[lselected=true]", g.tabs).length > 0)
  45. selectedIndex = $("> div", g.tabs).index($("> div[lselected=true]", g.tabs));
  46. g.tabs.ul = $('<ul class="l-easytab-header"></ul>');
  47. $("> div", g.tabs).each(function (i, box)
  48. {
  49. var li = $('<li><span></span></li>');
  50. if (i == selectedIndex)
  51. $("span", li).addClass("l-selected");
  52. if ($(box).attr("title"))
  53. {
  54. $("span", li).html($(box).attr("title"));
  55. $(box).removeAttr("title");
  56. }
  57. g.tabs.ul.append(li);
  58. if (!$(box).hasClass("l-easytab-panelbox")) $(box).addClass("l-easytab-panelbox");
  59. });
  60. g.tabs.ul.prependTo(g.tabs);
  61. //init
  62. $(".l-easytab-panelbox:eq(" + selectedIndex + ")", g.tabs).show().siblings(".l-easytab-panelbox").hide();
  63. //add even
  64. $("> ul:first span", g.tabs).click(function ()
  65. {
  66. if ($(this).hasClass("l-selected")) return;
  67. var i = $("> ul:first span", g.tabs).index(this);
  68. $(this).addClass("l-selected").parent().siblings().find("span.l-selected").removeClass("l-selected");
  69. $(".l-easytab-panelbox:eq(" + i + ")", g.tabs).show().siblings(".l-easytab-panelbox").hide();
  70. }).not("l-selected").hover(function ()
  71. {
  72. $(this).addClass("l-over");
  73. }, function ()
  74. {
  75. $(this).removeClass("l-over");
  76. });
  77. g.set(p);
  78. }
  79. });
  80. })(jQuery);