/* ================================================= // jQuery Tabs Plugins 1.0 // author:chenyg@5173.com // URL:http://stylechen.com/jquery-tabs.html // 4th Dec 2010 // tabid 选项卡容器ID // =================================================*/ ;(function($){ $.fn.extend({ Tabs:function(options){ // 处理参数 options = $.extend({ event : 'mouseover', timeout : 0, auto : 0, tabid: '.tab_menu', itemName:'.item', callback : null }, options); var self = $(this), tabBox = self.children( 'div.tab_box' ).children( options.itemName ), //menu = self.children( 'ul.tab_menu' ),//LX改过 menu = $(options.tabid), items = menu.find( 'li' ), timer; //alert(items.length); var tabHandle = function( elem ){ elem.siblings( 'li' ) .removeClass( 'current' ) .end() .addClass( 'current' ); tabBox.siblings( 'div' ) .addClass( 'hidden' ) .end() .eq( elem.index() ) .removeClass( 'hidden' ); }, delay = function( elem, time ){ time ? setTimeout(function(){ tabHandle( elem ); }, time) : tabHandle( elem ); }, start = function(){ if( !options.auto ) return; timer = setInterval( autoRun, options.auto ); }, autoRun = function(){ var current = menu.find( 'li.current' ), firstItem = items.eq(0), len = items.length, index = current.index() + 1, item = index === len ? firstItem : current.next( 'li' ), i = index === len ? 0 : index; current.removeClass( 'current' ); item.addClass( 'current' ); tabBox.siblings( 'div' ) .addClass( 'hidden' ) .end() .eq(i) .removeClass( 'hidden' ); }; items.bind( options.event, function(){ delay( $(this), options.timeout ); if( options.callback ){ options.callback( self ); } }); if( options.auto ){ start(); self.hover(function(){ clearInterval( timer ); timer = undefined; },function(){ start(); }); } return this; } }); })(jQuery);