Retroceder   Foros del Web > Programación para sitios web > Javascript

Respuesta
 
Herramientas Desplegado
Antiguo 29-may-2008, 02:36   #1 (permalink)
Kandorf ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Problema con cuenta atrás y redirección (la función no me ve una variable externa)

Buenas, estoy haciendo una página en la que si un usiario está más de un tiempo determinado se le redirija a otra página y vaya mostrando un contador con los segundos que faltan. He encontrado un código y lo he midificado, pero no sé por qué no me va, de javascript entiendo muy poquito, al mostrar el valor de la variable "seconds" me pinta NaN, que por lo visto significa Not a Number:

Código:
var timer=0;
var seconds=100;

function actualiza()
{
    seconds--;
    if (seconds<=-1)
    {
    	window.location="index.php";
    }
    var write='Quedan '+seconds+' segundos';
    var situa=document.getElementById('capa0');
    situa.innerHTML=write;
    
    timer=setTimeout("actualiza()",1000);
}
Creo que lo que pasa es que no ve la variable desde dentro de la función, porque si comento la línea en la que pone "seconds--;" me en vez de NaN me pone "undefined", creo que con esa línea realmente lo que estoy haciendo es declararla, al no ver la que hay fuera.

Saludos y gracias.
Kandorf está desconectado   Responder Citando
Antiguo 29-may-2008, 02:54   #2 (permalink)
Moderadora
tunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradable
 
Avatar de tunait
 
Fecha de Ingreso: noviembre-2002
Ubicación: Terok Nor
Mensajes: 14.963
Respuesta: Problema con cuenta atrás y redirección (la función no me ve una variable

Hola

acabo de probar el script y me funciona correcto en FF y en IE6
tunait está desconectado   Responder Citando
Antiguo 29-may-2008, 03:10   #3 (permalink)
Kandorf ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Respuesta: Problema con cuenta atrás y redirección (la función no me ve una variable

>.< bien... pues no sé, a mí no me va, ni en FireFox ni en iExplorer, le llevo dando vueltas desde las 9...

No sé si será por el sitio en el que tengo declaradas las variables, aunque según creo no importa el sitio en el que estén declaradas...
Por si resulta de ayuda, copio el código hasta el head, pro si acaso es que lo tengo declarado donde no debo o yo qué sé...

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"windows-1250" />
<title></title>
<style type="text/css">
<!--
body,td,th {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 24px;
	color: #000000;
	font-weight: bold;
}
body {
	background-image: url(images/background.jpg);
	background-repeat: no-repeat;
	margin-left: 0px;
	margin-top: 0px;
}
.Estilo1 {color: #454545}
-->
</style>
<script type="text/javascript">
<!--
Branch = new integer;

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var timer=0;
var seconds=100;

function actualiza()
{
    seconds--;
    if (seconds<=-1)
    {
    	window.location="index.php";
    }
    var write='Quedan '+seconds+' segundos';
    var situa=document.getElementById('capa0');
    situa.innerHTML=write;
    
    timer=setTimeout("actualiza()",1000);
}

//-->
</script>
</head>
Gracias por tu respuesta.
Kandorf está desconectado   Responder Citando
Antiguo 29-may-2008, 03:20   #4 (permalink)
Moderadora
tunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradable
 
Avatar de tunait
 
Fecha de Ingreso: noviembre-2002
Ubicación: Terok Nor
Mensajes: 14.963
Respuesta: Problema con cuenta atrás y redirección (la función no me ve una variable

Hum, te pierde agua por aquí

Branch = new integer;


Si quitas esa línea te irá bien el resto.
tunait está desconectado   Responder Citando
Antiguo 29-may-2008, 03:23   #5 (permalink)
Kandorf ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Respuesta: Problema con cuenta atrás y redirección (la función no me ve una variable

:O va, muchísimas gracias.

A ver si trae alguna consecuencia haber quitado esa línea, creo que la generó el Dreamweaver él solito.

Saludos.
Kandorf está desconectado   Responder Citando
Antiguo 29-may-2008, 03:27   #6 (permalink)
Moderadora
tunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradable
 
Avatar de tunait
 
Fecha de Ingreso: noviembre-2002
Ubicación: Terok Nor
Mensajes: 14.963
Respuesta: Problema con cuenta atrás y redirección (la función no me ve una variable

Cita:
Iniciado por Kandorf Ver Mensaje
:O va, muchísimas gracias.
Muchísimas de nadas

Cita:
Iniciado por Kandorf Ver Mensaje
A ver si trae alguna consecuencia haber quitado esa línea, creo que la generó el Dreamweaver él solito.
No creo, al menos en la parte que me has puesto es la única línea en la que aparece la variable Branch, así que no creo que nada la llame (salvo que más adelante haya más código)

Igual esa línea es que da error (el navegador no sabe lo que es integer) así que tampoco creo que se pueda hacer mucho con ella

Un saludo
tunait está desconectado   Responder Citando
Antiguo 29-may-2008, 05:41   #7 (permalink)
Kandorf ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Respuesta: Problema con cuenta atrás y redirección (la función no me ve una variable

Cita:
Iniciado por tunait Ver Mensaje
Igual esa línea es que da error (el navegador no sabe lo que es integer) así que tampoco creo que se pueda hacer mucho con ella
Aaaah claro, esa línea es que la escribí yo al principio, cuando tenía menos idea de javascript que ahora, porque la necesitaba para una función, pero la cambié.

Saludos :$
Kandorf está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:28.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93