Foros del Web » Programando para Internet » Javascript »

problema con setTimeout

Estas en el tema de problema con setTimeout en el foro de Javascript en Foros del Web. Hola comunidad de nuevo vengo con un problema con el setTimeout y wordpress, no supe donde ponerlo, por que espero que esté bien. bueno les ...
  #1 (permalink)  
Antiguo 28/08/2009, 11:30
 
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 14 años, 10 meses
Puntos: 1
problema con setTimeout

Hola comunidad de nuevo vengo con un problema con el setTimeout y wordpress, no supe donde ponerlo, por que espero que esté bien.

bueno les comento tengo enlos contenidos, que quiero retrsar la entrada para que se vea primero un swf y después todo el resto del código, entonces checando la función setTimeout. lo que hice para retrasar el código es:

Código:
<script type="text/javascript">
function funcion (){
var div = document.getElementByClass("content");
div.style.display = "";
}
 
window.onload = setTimeout("funcion()", 1500)
</script>
y en el html

Código:
<div class="content" display:none;>contenido</div>
y lo que sucede es que no se ve nada aaaaaaaaa...

no se si esté algo mal en el código o si es cuestion del wordpress je salu2

gracias a to2
  #2 (permalink)  
Antiguo 28/08/2009, 12:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: problema con setTimeout

Hola

La función se está ejecutando, solo que tienes div.style.display = ""; que es igual que si tuviera div.style.display = none;. Por lo tanto nunca se va a mostrar el div

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 28/08/2009, 12:24
 
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: problema con setTimeout

gracias por la respuesta voy a probar ñ_ñ
  #4 (permalink)  
Antiguo 28/08/2009, 19:41
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: problema con setTimeout

Cita:
Iniciado por Adler Ver Mensaje
... div.style.display = ""; que es igual que si tuviera div.style.display = none;...
Adler, lamento decirte que te equivocastes ahi. cuando se le asigna un string vacio es como restaurar el valor original del estilo. compruebalo!

@shogan:
primero, veo que tienes declarado mal el DIV, display:none tiene que estar declarado dentro del atributo style. segundo, no se que estilo contiene la clase content pero si ahi tienes un display:none;, no te va a funcionar div.style.dispaly = ""; porque aun hay un estilo afectando el elemento. tendrias que entrar a la hoja de estilo desde javascript y modificar ese valor pero esta alternativa a primera vista es mas compleja de lo que parece. para hacerte una idea

Código:
<style type="text/css">
.content{
display:none;
}
</style>
<div class="content" id="content">contenido</div>
<script type="text/javascript">
alert("inline style: " + document.getElementById("content").style.display);
// el alert lo muestra en blanco a pesar de la clase tener display:none;
try{ // DOM;
var value = document.styleSheets[0].cssRules[0].style.display;
}catch(e){ // IE; 
var value = document.styleSheets[0].rules[0].style.display;
}
alert("stylesheet: " + value);
// tecnicamente el alert deberia mostrar el valor;
</script>
como ves, depende mucho donde esta definido el estilo. no se si esta sea tu caso pero verificalo.

edit:
ohh, y por cierto, esta linea window.onload = setTimeout("funcion()", 1500) te puede dar problema en iexplorer y quien sabe si algun otro navegador, con excepcion de Fx.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 28/08/2009 a las 20:10 Razón: mas detalle...
  #5 (permalink)  
Antiguo 29/08/2009, 04:38
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: problema con setTimeout

Cita:
Iniciado por zerokilled Ver Mensaje
Adler, lamento decirte que te equivocastes ahi. cuando se le asigna un string vacio es como restaurar el valor original del estilo. compruebalo!
Toda la razón, maestro . Tal vez siga equivocado, pero le valor original es none
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 29/08/2009, 05:01
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: problema con setTimeout

nope! quizas hay que definir lo que es "valor original" ya que eso depende en gran medida del user agent de cada navegador. el "valor original" vendria siendo el valor que el user agent asigna al elemento de forma predeterminada cuando un autor no le ha aplicado estilo al elemento. no lo he investigado pero casi todos (por no decir todos) los elementos inician con valor block o inline en display. para demostrarlo:
Código:
<div id="content">contenido</div>
<script type="text/javascript">
try{ //DOM;
alert(getComputedStyle(document.getElementById("content"), null).display);
}catch(e){ //maldito iepxlorer siempre nos jode;
alert(document.getElementById("content").currentStyle.display);
}
</script>
por supuesto, getComputedStyle y currentStyle leen la propiedad actual, por lo cual tienes que crear el documento sin estilo y dejar que el user agent aplique su propio estilo. si el valor original fuera "none" el navegador no mostraria ningun elemento y tuvieramos que estar recurriendo a las hojas de estilo para hacer algo como html{display:block;}, ¿no crees?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 29/08/2009, 05:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: problema con setTimeout

Sí, ahora lo entiendo. El problema es que cuando dijistes "valor original" no lo entendí como valor predeterminado. De ahí que al estar usando estilos, entendiera que era none. Aclarado
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 18:01.