Foros del Web » Programando para Internet » Javascript »

Conflicto entre 2 scripts

Estas en el tema de Conflicto entre 2 scripts en el foro de Javascript en Foros del Web. Buenas, vereis, tengo una duda. Estoy haciendo una pagina de error 404, y en ella llamo a una funcion de javascript (deberia hacerlo con el ...
  #1 (permalink)  
Antiguo 03/01/2010, 19:55
c0c
 
Fecha de Ingreso: octubre-2004
Mensajes: 38
Antigüedad: 19 años, 6 meses
Puntos: 0
Exclamación Conflicto entre 2 scripts

Buenas, vereis, tengo una duda.

Estoy haciendo una pagina de error 404, y en ella llamo a una funcion de javascript (deberia hacerlo con el tag meta?) para que redireccione la web al indice en 15 segundos, pero en dicha pagina se encuentra tambien un formulario, oculto en un div que se despliega al llamar a otra funcion de javascript. Dicho div ofrece la posibilidad de usar un buscador.

El problema esta, en que si el usuario decide usar ese buscador, con toda probabilidad los 15 segundos se le quedaran cortos, y se redireccionara al index, haciendole perder doblemente el tiempo.

La cuestion es, hay alguna manera de que al llamar a una funcion en javascript, se anule la otra? ¿Se podria anular el tag meta?

Javascript que despliega el div
Código:
<script language="javascript">
function mostrardiv() {
div = document.getElementById('flotante');
div.style.display = '';

}

function cerrar() {
div = document.getElementById('flotante');
div.style.display='none';
}
</script>
<script language="javascript">

var segundos=15
var direccion='#'

milisegundos=segundos*1000
window.setTimeout("window.location.replace(direccion);",milisegundos);
</script>

Javascript que redirecciona la pagina

Código:
<script language="javascript">

var segundos=15
var direccion='#'

milisegundos=segundos*1000
window.setTimeout("window.location.replace(direccion);",milisegundos);
</script>
Gracias por anticipado.


Edito: Se me olvidaba comentar, que los javascripts no los he escrito yo. Uno lo encontre en los faqs de esta misma pagina, y otro en php.invisionarg.com.
  #2 (permalink)  
Antiguo 03/01/2010, 20:42
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Conflicto entre 2 scripts

para cancelar esa instruccion programada tienes que guardar el identificador que devuelve la funcion setTimeout para poder cancelarla con clearTimeout. asumiendo que queras detener la redireccion cuando se despliega el DIV, tienes que cancelar la redireccion en la funcion que muestra el DIV.
Código:
<script language="javascript">
function mostrardiv() {
clearTimeout(idfier);
div = document.getElementById('flotante');
div.style.display = '';

}

function cerrar() {
div = document.getElementById('flotante');
div.style.display='none';
}
</script>
<script language="javascript">

var segundos=15
var direccion='#'

milisegundos=segundos*1000
idfier = window.setTimeout("window.location.replace(direccion);",milisegundos);
</script>
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 03/01/2010, 22:27
c0c
 
Fecha de Ingreso: octubre-2004
Mensajes: 38
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Conflicto entre 2 scripts

Wow! que rapidez y efectividad!

Genial, muchas gracias por la ayuda, es justo lo que necesitaba.

Etiquetas: conflicto, scripts
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 07:43.