Foros del Web » Programando para Internet » Javascript »

Aplicar formato .charAt()

Estas en el tema de Aplicar formato .charAt() en el foro de Javascript en Foros del Web. Este script produce un efecto neon sobre un texto, intento que las letras st se muestren como superindice, pero message.charAt(m) no me permite darle ese ...
  #1 (permalink)  
Antiguo 08/07/2007, 09:14
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Aplicar formato .charAt()

Este script produce un efecto neon sobre un texto, intento que las letras st se muestren como superindice, pero message.charAt(m) no me permite darle ese formato al texto, ¿Como loo podria solucionar?


<script language="JavaScript1.2">
var message="1<SUP>st</SUP> Online"
var neonbasecolor="gray"
var neontextcolor="blue"
var flashspeed=100
var n=0
if (document.all){
document.write('<font color="'+neonbasecolor+'">')
for (m=0;m<message.length;m++)
document.write('<span id="neonlight">'+message.charAt(m)+'</span>')
document.write('</font>')
var tempref=document.all.neonlight
}
else
document.write(message)
function neon(){
//Change all letters to base color
if (n==0){
for (m=0;m<message.length;m++)
tempref[m].style.color=neonbasecolor
}
tempref[n].style.color=neontextcolor
if (n<tempref.length-1)
n++
else{
n=0
clearInterval(flashing)
setTimeout("beginneon()",1500)
return
}
}
function beginneon(){
if (document.all)
flashing=setInterval("neon()",flashspeed)
}
beginneon()
</script>
  #2 (permalink)  
Antiguo 08/07/2007, 10:30
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Aplicar formato .charAt()

En este caso yo creo que lo mejor es hacer una función para que te convierta cualquier texto a ese efecto, una tipo
function neon(frase)
function neonSP(frase)
Así que habría que hacerlo por partes, la parte en superíndice con la función neonSP() y la parte normal con neon()

La función neon() se queda como lo tienes, y en la función neonSP() tienes que poner que al escribir el caracter, se escriba entre dos etiquetas <SUP> y </SUP>
document.write('<span id="neonlight"><sup>'+message.charAt(m)+'</sup></span>')



Creo que con eso bastaría, pero no puedes poner las etiquetas <sup> y </sup> en la cadena de texto porque el script da formato al texto caracter por caracter, sin tener en cuenta si hay HTML o no.



Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.

Última edición por derkenuke; 08/07/2007 a las 10:36 Razón: formateo
  #3 (permalink)  
Antiguo 08/07/2007, 11:05
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Re: Aplicar formato .charAt()

Gracias por tu aportacion, me ha sido de gran ayuda.
En mi caso estaba interesado en poner los superindices en el segundo y tercer caracter lo he solucionado de esta forma:
var message="1st Online"
for (m=0;m<message.length;m++)
switch (m){
case 0:
document.write('<span id="neonlight">'+message.charAt(m)+'</span>')
break;
case 1:
document.write('<span id="neonlight"><sup>'+message.charAt(m)+'</sup></span>')
break;
case 2:
document.write('<span id="neonlight"><sup>'+message.charAt(m)+'</sup></span>')
break;
default:
document.write('<span id="neonlight">'+message.charAt(m)+'</span>')
}
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 04:29.