Prototype com new Ajax.PeriodicalUpdater para alimentar uma div

Amigos
estou pensando desde de manhã em como resolver uma parada aqui usando prototype? olha so?

imagine:
1- lembra da tag Marquee ? eu sei eu sei? não se usa marquee bla bla (chamei um cara aqui pra me ajudar e ele ficou assustado quando viu que se tratava de marquee… ele falou -“Po Brou, usa marquee não… vc é maluco ?” , então perguntei porque não devo usar, daí ele respondeu “- se vc usar marquee brou, vc vai marquee bobeira”. PO!, sem comentarios… virei de costas e lembrei do GUJ)

? então, na minha camada de visão (uso freemarquer) tem uma chamada logo no inicio(dentro do body) assim :

<script language="javascript">
	ajaxUpdaterMessages('mensagens','<@s.url namespace="/service/message" action="list"></@s.url>');
</script>

ou seja, tenho um arquivo js que contem a função ajaxUpdaterMessages, que é assim :

unction ajaxUpdaterMessages(elementId,url){
	divId = "div_" + elementId;
	new Ajax.PeriodicalUpdater(divId, url ,{
  		method: 'get', frequency: 20, decay: 2
		});
}
  • essa função por sua vez vai na url que passei como parametro e monta uma lista de Strings
    imagine que minha lista retornada da url seja uma lista com 10 mensagens, por exemplo, minha lista guarda objetos do tipo String como ?OBINA? , ?JOSIEL?, ?DIEGO TARDELI? , ?EDMUNDO? , ?DODO? , ?ALFINETE? e ?PERIVALDO?.

  • mensagens é um id de uma div que vou mostrar abaixo

bom?

aí tem o marquee que é atualizado a cada resposta do new Ajax.PeriodicalUpdater :

<marquee>
	<div id="div_mensagens">&nbsp;</div>
</marquee>	

e quer saber? funciona!! ou melhor, funciona ate certo ponto?

percebe-se então uma lista com 7 elementos? daí ocorre que (ATENÇÃO AGORA!!! AGORA QUE É O PROBLEMA!!!) quando esta passando DODO no marquee e ainda falta ?ALFINETE? E ?PERIVALDO?, uma nova requisição é feita e perde-se o marquee?
eu queria que todos os elementos deslizem no marquee ate o final? e se um dia minha url retornar mais de 20 elementos ? será que consigo mostrar os 20 elementos antes da proxima requisição acabar com tudo ??
como poderia resolver isso ? tem alguma ideia ?
lembrando que fiquei brincando com os valores de frequency: e decay: mas como minha “lista de jogadores” pode mudar, eu teria que achar uma relação entre o size da lista e o tempo em segundos para conseguir uma formula de fazer todos os jogadores passarem no marquee mesmo com outra requisição pronta para acabar com tudo… então desisti…
valeu amigos!!!

entederam essa maluquice ?

poderia testar uma alternativa…

1. unction ajaxUpdaterMessages(elementId,url){ 2. divId = "div_" + elementId; 3. new Ajax.PeriodicalUpdater(divId, url ,{ 4. method: 'get', frequency: 20, decay: 2, insertion: Insertion.Bottom, //só insere este parâmetro! 5. }); 6. }