Mofo02
Usuario Novato
Usuario Novato

Hola a tod@s, he intentado activar dos javascript en la misma página xhtml y sólo me funcionan por separado, si los junto sólo me funciona uno. ¿Por qué son incompatibles? Os pongo el código:

Script1:

en el HEAD:

<script>
mesk=new Array();mesk[10]="A";mesk[11]="B";mesk[12]="C";mesk[13]="D";mesk[14]="E";me sk[15]="F";A=10;B=11;C=12;D=13;E=14;F=15;let="ABCDEF";function mes(num){if(let.indexOf(num) != -1){return eval(num)};else{if(num < 10){return eval(num)};else{return mesk[num]}}};

function color(begin,einde,stappen,stap){
hh1=(mes(begin.charAt(0))*16)+mes(begin.charAt(1));
hh2=(mes(begin.charAt(2))*16)+mes(begin.charAt(3));
hh3=(mes(begin.charAt(4))*16)+mes(begin.charAt(5));
pp1=(mes(einde.charAt(0))*16)+mes(einde.charAt(1));
pp2=(mes(einde.charAt(2))*16)+mes(einde.charAt(3));
pp3=(mes(einde.charAt(4))*16)+mes(einde.charAt(5));

if(hh1 < pp1){ff1=hh1+Math.floor((pp1-hh1)/stappen*stap);
ff1=eval("\\'"+mes(Math.floor(ff1/16))+"\\'")+eval("\\'"+mes(ff1-(Math.floo r(ff1/16)*16))+"\\'");}
;else{ff1=hh1-Math.floor((hh1-pp1)/stappen*stap);
ff1=eval("\\'"+mes(Math.floor(ff1/16))+"\\'")+eval("\\'"+mes(ff1-(Math.floo r(ff1/16)*16))+"\\'");}
if(hh2 < pp2){ff2=hh2+Math.floor((pp2-hh2)/stappen*stap);
ff2=eval("\\'"+mes(Math.floor(ff2/16))+"\\'")+eval("\\'"+mes(ff2-(Math.floo r(ff2/16)*16))+"\\'");}
;else{ff2=hh2-Math.floor((hh2-pp2)/stappen*stap);
ff2=eval("\\'"+mes(Math.floor(ff2/16))+"\\'")+eval("\\'"+mes(ff2-(Math.floo r(ff2/16)*16))+"\\'");}
if(hh3 < pp3){ff3=hh3+Math.floor((pp3-hh3)/stappen*stap);
ff3=eval("\\'"+mes(Math.floor(ff3/16))+"\\'")+eval("\\'"+mes(ff3-(Math.floo r(ff3/16)*16))+"\\'");}
;else{ff3=hh3-Math.floor((hh3-pp3)/stappen*stap);
ff3=eval("\\'"+mes(Math.floor(ff3/16))+"\\'")+eval("\\'"+mes(ff3-(Math.floo r(ff3/16)*16))+"\\'");}
;return ff1+ff2+ff3}
bum=0;bum2=0;txt=new Array();txt[0]="";function lightf(){
for(i=0;i != Math.floor(message.length/2);i++){txt[i]=color(lightcolor1,lightcolor2,Math .floor(message.length/2),i)};
for(i=Math.floor(message.length/2);i != message.length;i++){txt[i]=color(lightcolor2,lightcolor1,Math.floor(message .length/2),(i-Math.floor(message.length/2)))};
lightf1()}
function lightf1(){txt[message.length+1]="";bum2=message.length-bum;for(i=0;i != message.length;i++){if(i+bum < message.length){txt[message.length+1]=txt[message.length+1]+"<font color=\'#"+txt[(i+bum)]+"\'>"+message.charAt(i)+"</font>"};else{txt[message .length+1]=txt[message.length+1]+"<font color='#"+txt[i-bum2]+"'>"+message.charAt(i)+"</font>"
}};if(bum != message.length){bum++;};else{bum=0};light.innerHTML=txt[message.length+1];s etTimeout("lightf1()",50)}
</script>

En el BODY:

<h1><div id="light"></div></h1>

<script>
lightcolor1="FF0000" // use capital letters
lightcolor2="000000" // use capital letters
message="AQUI EL TEXTO"
lightf()
</script>

Segundo SCRIPT:

En el BODY:

<script language="JavaScript1.2">

//configure message
message="ESTE ES EL TEXTO QUE PONGO"
//animate text in NS6? (0 will turn it off)
ns6switch=1

var ns6=document.getElementById&&!document.all
mes=new Array();
mes[0]=-1;
mes[1]=-4;
mes[2]=-7;mes[3]=-10;
mes[4]=-7;
mes[5]=-4;
mes[6]=-1;
num=0;
num2=0;
txt="";
function jump0(){
if (ns6&&!ns6switch){
jump.innerHTML=message
return
}
if(message.length > 6){
for(i=0; i != message.length;i++){
txt=txt+"<span style='position:relative;' id='n"+i+"'>"+message.charAt(i)+"</span>"};
jump.innerHTML=txt;
txt="";
jump1a()
}
else{
alert("Your message is to short")
}
}

function jump1a(){
nfinal=(document.getElementById)? document.getElementById("n0") : document.all.n0
nfinal.style.left=-num2;
if(num2 != 9){
num2=num2+3;
setTimeout("jump1a()",50)
}
else{
jump1b()
}
}

function jump1b(){
nfinal.style.left=-num2;
if(num2 != 0){num2=num2-3;
setTimeout("jump1b()",50)
}
else{
jump2()
}
}

function jump2(){
txt="";
for(i=0;i != message.length;i++){
if(i+num > -1 && i+num < 7){
txt=txt+"<span style='position:relative;top:"+mes[i+num]+"'>"+message.charAt(i)+"</span>"
}
else{txt=txt+"<span>"+message.charAt(i)+"</span>"}
}
jump.innerHTML=txt;
txt="";
if(num != (-message.length)){
num--;
setTimeout("jump2()",50)}
else{num=0;
setTimeout("jump0()",50)}}
</script>
</head>
<body>

<h2><div id="jumpx" style="color:green"></div></h2>
<script>
if (document.all||document.getElementById){
jump=(document.getElementById)? document.getElementById("jumpx") : document.all.jumpx
jump0()
}
else
document.write(message)
</script>

Muchas gracias por adelantado!!!!

Avatar Image
@man / @woman
@man / @woman

Las variables deben ser únicas, la variable message está declarada 2 veces (quizás haya otras en la misma situación).

Mofo02
Usuario Novato
Usuario Novato

Muchas gracias :)

He cambiado en el segundo escript todos los message por message2. Me sigue funcionando el segundo script pero el primero no, en vez del texto aparece la plabra UNDEFINED.  He estado revisando ambos códigos y veo que coinciden en ambos textos palabras como txt y num. Puedo renombralos en uno de los dos escripts? POr ejemplo text2 y num2???

Muchas gracias. Como podéis ver. Soy totalmente novato en el javascript, pero si cojo la dinámica, me imagino que ya podré combinar cualquier otros javacripts que ponga en el futuro.

De nuevo, gracias por vuestro tiempo!

Avatar Image
@man / @woman
@man / @woman
Escrito originalmente por Mofo02

Muchas gracias :)

He cambiado en el segundo escript todos los message por message2. Me sigue funcionando el segundo script pero el primero no, en vez del texto aparece la plabra UNDEFINED.  He estado revisando ambos códigos y veo que coinciden en ambos textos palabras como txt y num. Puedo renombralos en uno de los dos escripts? POr ejemplo text2 y num2???

Sí -como dije-, es conveniente que no haya superposición de variables (o si la hay debes tenerlas en cuenta).

Mofo02
Usuario Novato
Usuario Novato

Perfecto. Muchísimas gracias!!!! cambié message por message2, num por mum, y txt por txxt en uno de los scripts y funcionan a la vez :) Ahora ya puedo combinarlos pues ya sé los criterios a seguir.

Si la respuesta es fácil.....qué hay que hacer para que se vean también en Firefox/Mozilla?

De nuevo...mil gracias!!!!

Avatar Image
@man / @woman
@man / @woman
Escrito originalmente por Mofo02

Si la respuesta es fácil.....qué hay que hacer para que se vean también en Firefox/Mozilla?

¿ Probaste si funciona en FF?

Mofo02
Usuario Novato
Usuario Novato
Escrito originalmente por GestionXls
Escrito originalmente por Mofo02

Si la respuesta es fácil.....qué hay que hacer para que se vean también en Firefox/Mozilla?

¿ Probaste si funciona en FF?

No, no se ejecutan en FF

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Si no se ejecutan en FF, descarta los scripts o bien revisalos a fondo. No hay nada peor que entrar en una pagina donde no funcione "x" cosa porque no ha sido probada en diversos navegadores.

Por cierto , que te aparece en FF para que no funcione?.

Avatar Image
@man / @woman
@man / @woman

FF (apreciación personal) es el navegador que mejor anda con los scripts de javascript (pero debe estar bien escrito), es muy probable que falte algún ; final de sentencia o algún otro error de sintaxis simple.

Mofo02
Usuario Novato
Usuario Novato

Hola!

Muchas gracias por vuestras respuestas. Llevo varios días depurándolo con el Firebug. Había bastantes errores de sintaxis. Sigue sin funcionar, pero creo que es por innerHTML. Estoy en ello. Muchas gracias compañer@s! :)

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 06/Abr/2011, 16:33
cracken12302kApr/11
Por: , el 10/Feb/2006, 12:36
AkuaMadrid03kFeb/06
Por: , el 15/Ago/2002, 19:21
New_Kol pois NaRkODJ NoSetup.org Hugol_1810kOct/04