www.gusucode.com > 200套html5精品模板76_100 > 085/assets/plugins/liteTabs/litetabs.jquery.js

    /*************************************************
*
*	project:  	liteTabs - Lightweight jQuery tabs plugin
*	author:   	Nicola Hibbert
*	url:	  	http://nicolahibbert.com/lightweight-jquery-tab-plugin/
*	demo:	  	http://www.nicolahibbert.com/demo/liteTabs/
*
*	Version:  	1.0.0
*	Copyright: 	(c) 2010-2011 Nicola Hibbert
*	License: 	MIT
*
/*************************************************/
;(function($) {

	$.fn.liteTabs = function(options) {
		
		return this.each(function() {

			var defaults = {
				borders : false,
				boxed : false,
				fadeIn : false,
				height : 'auto',
				hideHash : true,
				rounded : false,
				selectedTab : 1,
				width : 420			
			},
		
			// merge defaults with options in new settings object
			settings = $.extend({}, defaults, options),
				
			// define key variables
			$this = $(this),
			$ul = $this.children('ul'),
			$tab = $ul.find('a'),
			$div = $('> div', $this);

			// set liteTabs class for css & set optional overall width
			$this.addClass('liteTabs').width(settings.width);

			// option: set overall height
			$div.css({
				height : settings.height,
				width : settings.width - (parseInt($div.css('padding-left')) + parseInt($div.css('padding-right'))),
				position : 'absolute',
				left : -9999
			});

			// on tab click...
			$tab.click(function(e) {
              //  alert("hello");
				var filterHash = $div.removeClass('selected').filter('[id=' + this.hash + ']');
			
				// defaults: add selected class to tab
				$tab.removeClass('selected').filter(this).addClass('selected');

				// option: fade in divs
				(settings.fadeIn) ? filterHash.hide().addClass('selected').fadeIn() : filterHash.addClass('selected');

				// option: hide hash change
				settings.hideHash && e.preventDefault();

			});	

			// option: set selected tab
			settings.selectedTab && $tab.eq(settings.selectedTab - 1).click();

			// option: set rounded corners
			settings.rounded && $this.addClass('rounded');

			// option: set borders
			settings.borders && $this.addClass('borders') && $div.width($div.width() - (parseInt($div.css('border-left-width')) + parseInt($div.css('border-right-width'))));

			// option: set boxed
			settings.boxed && $this.addClass('boxed');

		});
		
	};

})(jQuery);