Foros del Web » Programando para Internet » Javascript »

adaptar scroll de texto

Estas en el tema de adaptar scroll de texto en el foro de Javascript en Foros del Web. hola gente encontre este script que hace un scroll de texto, me gusta porque al terminar la ultima palabra al toque ya pone la primera ...
  #1 (permalink)  
Antiguo 02/07/2003, 09:13
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
adaptar scroll de texto

hola gente encontre este script que hace un scroll de texto, me gusta porque al terminar la ultima palabra al toque ya pone la primera denuevo, pero el tema es que lo hace dentro de un textfield, me gustaria que sea en un <div> o algo asi, entonces puedo ponerle links, etc etc

les dejo el codigo, mil gracias

<SCRIPT LANGUAGE="JavaScript">
ScrollSpeed = 200;
ScrollChars = 1;
function ScrollMarquee() {

window.setTimeout('ScrollMarquee()',ScrollSpeed);

var msg = document.marquee1.eldiv.value;

document.marquee1.eldiv.value = msg.substring(ScrollChars) + msg.substring(0,ScrollChars);
}
</SCRIPT>

<BODY onLoad="ScrollMarquee()">
<FORM NAME="marquee1">
<input type="text" name="eldiv" value="palabra1 - palabra2 - palabra3 - " size="50">
</FORM>
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 02/07/2003, 19:10
Avatar de ProgramacionWeb  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona
Mensajes: 176
Antigüedad: 20 años, 10 meses
Puntos: 2
Piensa que de hacer lo que quieres, al hacer el scroll en el div, si por ejemplo pones "hola - <b>adios</b> - " iria funcionando hasta que pasara: "b>adios</b> - hola - <" momento en que no funcionaría.

Y si intentaramos hacer que al encontrar < pasara hasta > lo que pasaría es que como habria que usar innerHTML cambiaría "hola - <b>adios</b> - " por "adios</b> - hola - <b></b>" ya que la etiqueta <b> genera </b> y al ayadir la letra en la segunda vuelta ya no habria negritas.

Total, solo serviria para añadir etiquetas que no se cierren como <br> o <img src="....">

Por si te sirve te lo pongo:

Código PHP:
<div id=scroll>palabra1 - <br>palabra2 palabra3 - <img src=""> - </div>
<
SCRIPT LANGUAGE="JavaScript">
ScrollSpeed 200;
ScrollChars 1;
function 
ScrollMarquee() {
window.setTimeout('ScrollMarquee()',ScrollSpeed);
var 
msg document.getElementById("scroll").innerHTML;
parte1 msg.substring(ScrollChars);
parte2 msg.substring(0,ScrollChars);
if(
parte2 == '<'){
parte1 msg.substring(msg.indexOf('>')+ScrollChars);
parte2 msg.substring(0,msg.indexOf('>')+ScrollChars);
}
document.getElementById("scroll").innerHTML parte1 parte2;
}
ScrollMarquee()
</SCRIPT> 
__________________
Foros en los que participo:
  #3 (permalink)  
Antiguo 02/07/2003, 20:02
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
buenismo, si funciona ahora bien como puedo pararlo onmouseover y reanudarlo onmouseout?
se complica?
__________________
On error no hago nada porque deje de fumar...
  #4 (permalink)  
Antiguo 04/07/2003, 05:18
Avatar de ProgramacionWeb  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona
Mensajes: 176
Antigüedad: 20 años, 10 meses
Puntos: 2
<div id=scroll onmouseout="ScrollMarquee()" onmouseover="clearTimeout(timeout1)" >palabra1 - <br>palabra2 - palabra3 - <img src=""> - </div>
<SCRIPT LANGUAGE="JavaScript">
ScrollSpeed = 200;
ScrollChars = 1;
function ScrollMarquee() {
timeout1 = window.setTimeout('ScrollMarquee()',ScrollSpeed);
var msg = document.getElementById("scroll").innerHTML;
parte1 = msg.substring(ScrollChars);
parte2 = msg.substring(0,ScrollChars);
if(parte2 == '<'){
parte1 = msg.substring(msg.indexOf('>')+ScrollChars);
parte2 = msg.substring(0,msg.indexOf('>')+ScrollChars);
}
document.getElementById("scroll").innerHTML = parte1 + parte2;
}
ScrollMarquee()
</SCRIPT>
__________________
Foros en los que participo:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:32.