muovere le notizie in verticale

Mwd

Nuovo Utente
28 Dic 2011
2
0
0
Ho provato a scrivere questo codice per far muovere le notizie in verticale non da nessun errore però non si muove niente, quello che ho provato a fare era di diminuire il valore di TOP di 25px ogni 3 secondi e poi arrivato all'ultima notizia tornare a zero per tornare alla prima notizia.

<!--HTML-->
<div id="tweet">
<p>| Da oggi 17/09 con l'attuazione della manovra finanziaria, sarà obbligatorio applicare sulle vendite l'IVA al 21% anziché al 20% - 26days ago . reply . reteet . favorite</p>
<p>| 2a oggi 17/09 con l'attuazione della manovra finanziaria, sarà obbligatorio applicare sulle vendite l'IVA al 21% anziché al 20% - 26days ago . reply . reteet . favorite</p>
<p>| 3a oggi 17/09 con l'attuazione della manovra finanziaria, sarà obbligatorio applicare sulle vendite l'IVA al 21% anziché al 20% - 26days ago . reply . reteet . favorite</p>
</div>

/*CSS*/
#tweet{
width:940px;
height:25px;
margin:auto;
/*overflow:hidden;*/
background:#e5efe8 url(../media/uccellino.png) no-repeat 7px 3px;
}
#tweet p{
position:relative;
top:0;
height:25px;
padding:0 0 0 32px;
margin:0;
line-height:24px;
font-size:12px;
color:#181d19;
}

//JAVASCRIPT
var Twitter =
{
init: function()
{
Twitter.p = $('tweet').down('p');
Twitter.frameHeight = 25;
Twitter.frames = 3;
Twitter.offsetY = 0;
Twitter.animate();
},
animate: function()
{
Twitter.offsetY -= Twitter.frameHeight;
if (Twitter.offsetY <= -Twitter.frameHeight * Twitter.frames)
{
Twitter.offsetY = 0;
}
Twitter.p.style.top = "0 " + Twitter.offsetY + "px";
setTimeout(Twitter.animate, 3000);
}
};
Event.observe(window, 'load', Twitter.init, false);
 
Risolto ecco il codice.

var Twitter =
{
init: function()
{
Twitter.p = $('tweet').getElementsByTagName('p');
Twitter.frameHeight = 25;
Twitter.frames = Twitter.p.length -1;
Twitter.frameNow = 0;
setTimeout(Twitter.animate, 3000);
},
animate: function()
{
if (Twitter.frameNow >= Twitter.frames )
{
Twitter.frameHeightLast = Twitter.frameNow * Twitter.frameHeight;
for (var i = 0; i < Twitter.p.length; i++)
{
new Effect.MoveBy(Twitter.p,Twitter.frameHeightLast,0);
}
Twitter.frameNow = 0;
}
else
{
for (var i = 0; i < Twitter.p.length; i++)
{
new Effect.MoveBy(Twitter.p,-Twitter.frameHeight,0);
/*Twitter.p.style.top = Twitter.offsetY + "px";*/
}
Twitter.frameNow ++;
}
setTimeout(Twitter.animate, 3000);
}
};
Event.observe(window, 'load', Twitter.init, false);
 

Discussioni simili

L
Risposte
0
Visite
895
PHP
leonte54
L