Discute a forma de implementar um ticker que é javascript notícias via RSS feed.
Ontem eu postei um script simples explicando como você poderia facilmente consumir um feed RSS do seu site. No entanto, não é simples exibição de manchetes tão legal. Nein, tendo as manchetes em um córrego ticker é muito mais agradável.
Ainda usando o Yahoo! Notícias como uma fonte, hoje vamos discutir a forma de consumir um RSS feed em um ticker notícias.
O código a seguir faz o truque.
<head>
<script type="text/javascript">
var sText = ""
var i = 0
var iNews = 0
var rss = new ActiveXObject ( "Microsoft.XMLDOM")
rss.async = false
rss.load ( "http://rss.news.yahoo.com/rss/world")
GetNewsSource função () (
var itemNodes = rss.selectNodes ( "/ rss / channel / item")
var Imax = itemNodes.length
sText = itemNodes.item (iNews). getElementsByTagName ( "título"). item (0). Texto
myTicker.href = itemNodes.item (iNews). getElementsByTagName ( "link"). item (0). Texto
ticker ()
iNews + = 1
if (iNews == Imax) (
iNews = 0
)
window.setTimeout ( "GetNewsSource ()", (90 * sText.length +4000))
)
ticker função () (
i + = 1
myTicker.innerText = sText.substring (0, i) + "*"
if (i <sText.length) (
window.setTimeout ( "ticker ()", 90)
)
else (
i = 0
)
)
</ script>
</ head>
<body onLoad="GetNewsSource()">
<p> <b> Yahoo! Notícia: <a href=""> id="myTicker" </ a> </ b> </ p>
</ body>
</ html>
Nós fazemos muito uso da função window.setTimeout. setTimeout é usado para chamar uma outra função após um determinado período de tempo. A duração é especificado em milissegundos.
O primeiro script carrega o arquivo RSS feed no DOM como a página é carregada. Quando o corpo da tag embarcar evento incêndios que chamamos função GetNewsSource (). Esta função lê o nó dos itens em um arquivo RSS NodeList variável e proventos para extrair o título elemento variável em sText, e os elemento hiperligação para hiperlink myTicker's href propriedade. Uma vez feito o script solicita função ticker () que grava o conteúdo da sText caracter a caracter. Função ticker () executa recursivamente através da função setTimeout com cada personagem a ser escrito depois de 90 milissegundos.
Função GetNewsSource () também executa recursivamente, e é definido (90 * sText.length +4000) como um setTimeout duração. isso garante que a próxima execução só arranca depois da função relógio (), completou a escrever o conteúdo completo de sText.
Para arredondar o script verifica se a notícia manchete é o último a ser escrito na alimentação animal e, em caso afirmativo redefine o feed back para o primeiro item.
E lá vai você, seu próprio notícias ticker no seu site.

Delicious
Digg
Google
Yahoo