Código HTML :
<script type="text/javascript"> $(document).ready(function () { $('#ticker2').rssfeed('http://www.montevideo.com.uy/anxml.aspx?59',{}, function(e) { $(e).find('div.rssBody').vTicker({ showItems: 1}); }); }); </script> <div id="ticker2"></div>
Código CSS :
body { font-family: Tahoma, Genevam, sans-serif; } .rssFeed { font-family: Arial, Helvetica, sans-serif; font-size: small; width: 960px; margin-bottom: 2em; } .rssFeed a { color: #444; text-decoration: none; } .rssFeed a:hover { color: #000; text-decoration: underline; } .rssHeader { padding: 0.2em 0; } .rssBody { border: 1px solid #1d6c73; } .rssRow h4, .rssRow p, .rssRow div { margin: 0; padding: 0.5em; } #ticker2 .odd { background-color: #f9f9f9; width:960px; } #ticker2 .even { background-color: #f9f9f9; width:960px; }
Código Javascript :
(function(h){h.fn.rssfeed=function(q,f,r){f=h.extend({limit:10,header:!0,titletag:"h4",date:!0,content:!0,snippet:!0,media:!0,showerror:!0,errormsg:"",key:null,ssl:!1,linktarget:"_self"},f);return this.each(function(s,l){var p=h(l),d="";f.ssl&&(d="s");p.hasClass("rssFeed")||p.addClass("rssFeed");if(null==q)return!1;d="http"+d+"://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q="+encodeURIComponent(q);null!=f.limit&&(d+="&num="+f.limit);null!=f.key&&(d+="&key="+f.key);h.getJSON(d+"&output=json_xml", function(b){if(200==b.responseStatus){var e=b.responseData,b=f,g=e.feed;if(g){var a="",d="odd";if(b.media){var j=e.xmlString;"Microsoft Internet Explorer"==navigator.appName?(e=new ActiveXObject("Microsoft.XMLDOM"),e.async="false",e.loadXML(j)):e=(new DOMParser).parseFromString(j,"text/xml");j=e.getElementsByTagName("item")}b.header&&(a+='<div class="rssHeader"><a href="'+g.link+'" title="'+g.description+'">'+g.title+"</a></div>");a+='<div class="rssBody"><ul>';for(e=0;e<g.entries.length;e++){var c= g.entries[e],i;c.publishedDate&&(i=new Date(c.publishedDate),i=i.toLocaleDateString()+" "+i.toLocaleTimeString());a+='<li class="rssRow '+d+'"><'+b.titletag+'><a href="'+c.link+'" title="View this feed at '+g.title+'">'+c.title+"</a></"+b.titletag+">";b.content&&(a+="<p>"+(b.snippet&&""!=c.contentSnippet?c.contentSnippet:c.content)+"</p>");if(b.media&&0<j.length){c=j[e].getElementsByTagName("enclosure");if(0<c.length){for(var a=a+'<div class="rssMedia"><div>Media files</div><ul>', k=0;k<c.length;k++)var m=c[k].getAttribute("url"),n=c[k].getAttribute("type"),o=c[k].getAttribute("length"),m='<li><a href="'+m+'" title="Download this media">'+m.split("/").pop()+"</a> ("+n+", ",n=Math.floor(Math.log(o)/Math.log(1024)),o=(o/Math.pow(1024,Math.floor(n))).toFixed(2)+" "+"bytes,kb,MB,GB,TB,PB".split(",")[n],a=a+(m+o+")</li>");a+="</ul></div>"}a+="</li>"}d="odd"==d?"even":"odd"}h(l).html(a+"</ul></div>");h("a",l).attr("target",b.linktarget)}h.isFunction(r)&&r.call(this,p)}else f.showerror&& (g=""!=f.errormsg?f.errormsg:b.responseDetails),h(l).html('<div class="rssError"><p>'+g+"</p></div>")})})}})(jQuery);
Código Javascript :
(function($){ $.fn.vTicker = function(options) { var defaults = { speed: 700, pause: 4000, showItems: 3, animation: '', mousePause: true, isPaused: false }; var options = $.extend(defaults, options); moveUp = function(obj2, height, paused){ if(paused) return; var obj = obj2.children('ul'); first = obj.children('li:first').clone(true); obj.animate({top: '-=' + height + 'px'}, options.speed, function() { $(this).children('li:first').remove(); $(this).css('top', '0px'); }); if(options.animation == 'fade') { obj.children('li:first').fadeOut(options.speed); obj.children('li:last').hide().fadeIn(options.speed); } first.appendTo(obj); }; return this.each(function() { var obj = $(this); var maxHeight = 0; var itempause = options.isPaused; obj.css({overflow: 'hidden', position: 'relative'}) .children('ul').css({position: 'absolute', margin: 0, padding: 0}) .children('li').css({margin: 0, padding: 0}); obj.children('ul').children('li').each(function(){ if($(this).height() > maxHeight) { maxHeight = $(this).height(); } }); obj.children('ul').children('li').each(function() { $(this).height(maxHeight); }); obj.height(maxHeight * options.showItems); var interval = setInterval(function(){ moveUp(obj, maxHeight, itempause); }, options.pause); if (options.mousePause) { obj.bind("mouseenter",function() { itempause = true; }).bind("mouseleave",function() { itempause = false; }); } }); }; })(jQuery);