diff options
| author | Josh Brewer | 2011-04-19 00:25:24 -0700 |
|---|---|---|
| committer | Josh Brewer | 2011-04-19 00:25:24 -0700 |
| commit | 4801f4a46ccb8ea97f3683712c3774f6dd396e8b (patch) | |
| tree | 9e37006bb82116bbf5dd8c2e88baec99d73aa0bb /site/js/jquery.lettering.js | |
| parent | aec7a7fca503639f78795d0baaf4a67c455704d1 (diff) | |
| download | ffffallback-4801f4a46ccb8ea97f3683712c3774f6dd396e8b.tar.bz2 | |
added lettering.js and some small css tweaks
Diffstat (limited to 'site/js/jquery.lettering.js')
| -rwxr-xr-x | site/js/jquery.lettering.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/site/js/jquery.lettering.js b/site/js/jquery.lettering.js new file mode 100755 index 0000000..4515590 --- /dev/null +++ b/site/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 |
