diff options
Diffstat (limited to 'js/jquery.lettering.js')
| -rwxr-xr-x | js/jquery.lettering.js | 66 | 
1 files changed, 66 insertions, 0 deletions
| diff --git a/js/jquery.lettering.js b/js/jquery.lettering.js new file mode 100755 index 0000000..4515590 --- /dev/null +++ b/js/jquery.lettering.js @@ -0,0 +1,66 @@ +/*global jQuery */ +/*!	 +* Lettering.JS 0.6.1 +* +* Copyright 2010, Dave Rupert http://daverupert.com +* Released under the WTFPL license  +* http://sam.zoy.org/wtfpl/ +* +* Thanks to Paul Irish - http://paulirish.com - for the feedback. +* +* Date: Mon Sep 20 17:14:00 2010 -0600 +*/ +(function($){ +	function injector(t, splitter, klass, after) { +		var a = t.text().split(splitter), inject = ''; +		if (a.length) { +			$(a).each(function(i, item) { +				inject += '<span class="'+klass+(i+1)+'">'+item+'</span>'+after; +			});	 +			t.empty().append(inject); +		} +	} +	 +	var methods = { +		init : function() { + +			return this.each(function() { +				injector($(this), '', 'char', ''); +			}); + +		}, + +		words : function() { + +			return this.each(function() { +				injector($(this), ' ', 'word', ' '); +			}); + +		}, +		 +		lines : function() { + +			return this.each(function() { +				var r = "eefec303079ad17405c889e092e105b0"; +				// Because it's hard to split a <br/> tag consistently across browsers, +				// (*ahem* IE *ahem*), we replaces all <br/> instances with an md5 hash  +				// (of the word "split").  If you're trying to use this plugin on that  +				// md5 hash string, it will fail because you're being ridiculous. +				injector($(this).children("br").replaceWith(r).end(), r, 'line', ''); +			}); + +		} +	}; + +	$.fn.lettering = function( method ) { +		// Method calling logic +		if ( method && methods[method] ) { +			return methods[ method ].apply( this, [].slice.call( arguments, 1 )); +		} else if ( method === 'letters' || ! method ) { +			return methods.init.apply( this, [].slice.call( arguments, 0 ) ); // always pass an array +		} +		$.error( 'Method ' +  method + ' does not exist on jQuery.lettering' ); +		return this; +	}; + +})(jQuery);
\ No newline at end of file | 
