Foros del Web » Programando para Internet » Javascript »

Modificar este script para encender-apagar texto

Estas en el tema de Modificar este script para encender-apagar texto en el foro de Javascript en Foros del Web. hola he encontrado este codigo para hacer flashear un texto. Funciona muy bien pero cuando se carga la pagina comienza a flashear. Yo necesitaria que ...
  #1 (permalink)  
Antiguo 18/07/2007, 06:44
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Modificar este script para encender-apagar texto

hola

he encontrado este codigo para hacer flashear un texto.
Funciona muy bien pero cuando se carga la pagina comienza a flashear.
Yo necesitaria que el texto aparezca sin flashear y luego con una funcion hacer que comienze a flashear.

codigo HEAD:

<script>
var flashlinks=new Array()

function changelinkcolor(){
for (i=0; i< flashlinks.length; i++){
var flashtype=document.getElementById? flashlinks[i].getAttribute("flashtype")*1 : flashlinks[i].flashtype*1
var flashcolor=document.getElementById? flashlinks[i].getAttribute("flashcolor") : flashlinks[i].flashcolor
if (flashtype==0){
if (flashlinks[i].style.color!=flashcolor)
flashlinks[i].style.color=flashcolor
else
flashlinks[i].style.color=''
}
else if (flashtype==1){
if (flashlinks[i].style.backgroundColor!=flashcolor)
flashlinks[i].style.backgroundColor=flashcolor
else
flashlinks[i].style.backgroundColor=''
}
}
}

function init(){
var i=0
if (document.all){
while (eval("document.all.flashlink"+i)!=null){
flashlinks[i]= eval("document.all.flashlink"+i)
i++
}
}
else if (document.getElementById){
while (document.getElementById("flashlink"+i)!=null){
flashlinks[i]= document.getElementById("flashlink"+i)
i++
}
}
setInterval("changelinkcolor()", 1000)
}

if (window.addEventListener)
window.addEventListener("load", init, false)
else if (window.attachEvent)
window.attachEvent("onload", init)
else if (document.all)
window.onload=init

</script>

y luego en el BODY

<a href="test.htm" id="flashlink0" flashtype=0 flashcolor="green">Example 1</a>




He probado quitandole la propiedad flashtype :

<a href="test.htm" id="flashlink0" flashcolor="green">Example 1</a>

y luego tratandola de activar de este modo:

document.getElementById("flashlink0").style.flasht ype='1';

pero no...

gracias
  #2 (permalink)  
Antiguo 18/07/2007, 07:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Modificar este script para encender-apagar texto

Hola:

Prueba quitando esta línea:

window.onload = init;

Y en el tag/botón que quieras usar para activar el efecto pon:

onclick="init()"

Pruébalo y nos cuentas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/07/2007, 07:30
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Re: Modificar este script para encender-apagar texto

no funciona en la consola de firefox me dice que init() no existe
  #4 (permalink)  
Antiguo 19/07/2007, 08:07
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Modificar este script para encender-apagar texto

Hola:

Pues si que existe (a no ser que también lo hayas quitado)... aunque creo que tenías que quitar unas cuantas líneas más... desde:

if (window.addEventListener)
... hasta
window.onload = init

Tal vez sea esa la causa del error.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 19/07/2007, 11:02
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Re: Modificar este script para encender-apagar texto

ha funcionando !

el codigo lo he resumido a esto:

var flashlinks=new Array()

function changelinkcolor(){
for (i=0; i< flashlinks.length; i++){
var flashtype=document.getElementById? flashlinks[i].getAttribute("flashtype")*1 : flashlinks[i].flashtype*1
var flashcolor=document.getElementById? flashlinks[i].getAttribute("flashcolor;) : flashlinks[i].flashcolor
if (flashtype==0){
if (flashlinks[i].style.color!=flashcolor)
flashlinks[i].style.color=flashcolor
else
flashlinks[i].style.color=''
}
else if (flashtype==1){
if (flashlinks[i].style.backgroundColor!=flashcolor)
flashlinks[i].style.backgroundColor=flashcolor
else
flashlinks[i].style.backgroundColor=''
}
}
}
function init(){
var i=0
while (document.getElementById("flashlink"+i)!=null){
flashlinks[i]= document.getElementById("flashlink"+i)
i++
}
setInterval("changelinkcolor()", 1000)
}

el problema es que hace flashear todos los textos que tengan como ids:
id="flashlink0"
id="flashlink1"
id="flashlink2"

Yo lo estoy usando para alertar al usuario cuando deja un campo incompleto en un form. Y lo que necesito es poder aplicarlo a distintos textos (pero no a todos a la vez)

probe pasandole el el id del texto que quiero cambiar con la funcion init(id_de_mi_texto) pero no entiendo como tomar ese parametro en las funciones.

Otra pregunta; ?en que me momento se ejecuta la funcion changelinkcolor()?

}
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 20:41.