Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
This paste will be private.
var TwitterTicker = function(options) { var twitter_reply = function(text) { return text.replace(/@([\w]+)/, '<a href="http://twitter.com/$1/" title="Twitter - $1">$&</a>'); }; var twitter_link = function(text) { return text.replace(/(http:\/\/[^ ]+)/, '<a href="$1" title="Enlace a $1">$1</a>'); }; options = jQuery.extend({ box : jQuery('#twitter_box'), data : [], speed : 'slow', timeout : 5000 }, options); var box = options.box; box.css('overflow', 'hidden'); var twitWidth = box.width() + parseInt(box.css('padding-left')) + parseInt(box.css('padding-right')); var currentTwit = 0; var twitCount = options.data.length; var totalWidth = twitWidth*twitCount; var allTwitsDiv = jQuery('<div id="twitter_container"/>').css({ 'width' : totalWidth, 'position' : 'relative' }); allTwitsDiv.appendTo(box); jQuery.each(options.data, function(i, item) { var body = twitter_reply(twitter_link('<span>' + item.text + '</span>')); var link = 'http://twitter.com/YoNoSoyTu/statuses/' + item.id; var twitDiv = jQuery('<div class="twitt" />') twitDiv.css({ 'float' : 'left', 'position' : 'relative', 'width' : twitWidth }); twitDiv.append(jQuery(body)); twitDiv.append(jQuery('<a class="no-underline" href="' + link + '" title="Twitter"> ⌘</a>')); allTwitsDiv.append(twitDiv); }); var twit_rotator = function() { currentTwit = (currentTwit + 1) % twitCount; allTwitsDiv.animate({left : -currentTwit * twitWidth}, options.speed); }; var rotator = setInterval(twit_rotator, options.timeout); box.hover(function() { clearInterval(rotator); }, function() { rotator = setInterval(twit_rotator, options.timeout); twit_rotator(); }); }; if (!jQuery.browser.msie) { jQuery(function() { var content = jQuery('#content'); var twit_box = jQuery('<div id="twitter_box"/>'); var feed_url = 'http://twitter.com/statuses/user_timeline/YoNoSoyTu.json?count=5&callback=?'; jQuery.getJSON(feed_url, function(d) { new TwitterTicker({box : twit_box, data : d}); }); twit_box.prependTo(content); content.prepend(jQuery('<div id="pre_twitter_box" />')) }); }
Pasted May 13, 2008 5:48AM EDT
Embed