JAVASCRIPT   11

tabs.js

Guest on 25th July 2021 04:23:04 PM

  1.  
  2. function _tabs(options) {
  3.         var self = _widget(options),
  4.                 remove = self.remove,
  5.                 afterSelect = options.afterSelect,
  6.                 div = self.div,
  7.                 liList = [];
  8.         //create tabs
  9.         div.addClass('ke-tabs')
  10.                 .bind('contextmenu,mousedown,mousemove', function(e) {
  11.                         e.preventDefault();
  12.                 });
  13.         var ul = K('<ul class="ke-tabs-ul ke-clearfix"></ul>');
  14.         div.append(ul);
  15.         //add a tab
  16.         self.add = function(tab) {
  17.                 var li = K('<li class="ke-tabs-li">' + tab.title + '</li>');
  18.                 li.data('tab', tab);
  19.                 liList.push(li);
  20.                 ul.append(li);
  21.         };
  22.         self.selectedIndex = 0;
  23.         //select a tab
  24.         self.select = function(index) {
  25.                 self.selectedIndex = index;
  26.                 _each(liList, function(i, li) {
  27.                         li.unbind();
  28.                         if (i === index) {
  29.                                 li.addClass('ke-tabs-li-selected');
  30.                                 K(li.data('tab').panel).show('');
  31.                         } else {
  32.                                 li.removeClass('ke-tabs-li-selected').removeClass('ke-tabs-li-on')
  33.                                 .mouseover(function() {
  34.                                         K(this).addClass('ke-tabs-li-on');
  35.                                 })
  36.                                 .mouseout(function() {
  37.                                         K(this).removeClass('ke-tabs-li-on');
  38.                                 })
  39.                                 .click(function() {
  40.                                         self.select(i);
  41.                                 });
  42.                                 K(li.data('tab').panel).hide();
  43.                         }
  44.                 });
  45.                 if (afterSelect) {
  46.                         afterSelect.call(self, index);
  47.                 }
  48.         };
  49.         //remove tabs
  50.         self.remove = function() {
  51.                 _each(liList, function() {
  52.                         this.remove();
  53.                 });
  54.                 ul.remove();
  55.                 remove.call(self);
  56.         };
  57.         return self;
  58. }
  59.  
  60. K.tabs = _tabs;

Raw Paste


Login or Register to edit or fork this paste. It's free.