Foros del Web » Programando para Internet » Javascript »

¿Como hacer delay?

Estas en el tema de ¿Como hacer delay? en el foro de Javascript en Foros del Web. Hola Alguien me podria decir como realizar la aparicion de un div oculto con un retardo de 1 o 2 segundos. El codigo Código HTML: ...
  #1 (permalink)  
Antiguo 06/11/2010, 16:27
 
Fecha de Ingreso: abril-2009
Ubicación: Santa Fe, Capital
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Pregunta ¿Como hacer delay?

Hola
Alguien me podria decir como realizar la aparicion de un div oculto con un retardo de 1 o 2 segundos.

El codigo

Código HTML:
<div
onmouseover="document.getElementById('X').style.display='inline';"
onmouseout="document.getElementById('X').style.display='none';"
>Contenido</div>
<div id="X" name="X" style="display:none;"> Contenido oculto </div> 
Como hago para mostrar el contenido que esta oculto al pasar el mouse por div anterior y que demore un tiempo en aparecer, teniendo el id que no se conocen precisamente el valor varia por cada elemento div oculto.

Segui el siguiente ejemplo que modifique pero no funciona


Código HTML:
<html>
  <head>
      <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.js"></script>
      <script type="text/javascript">
         var clas = "";

         function hacerCosasDeVerdad(param1) {
               clas = "."+param1;
                $.ajax({
                data: clas ,
                success:
                    $(function() {
                         $(clas).hover( function(){
                         $(this).css('display', 'inline');
                         $(this).css('background-color', '#F00');
                    },
                    function(){
                         $(this).css('display', 'none');
                         $(this).css('background-color', '#FFF');
                   })
              })
              })
    

           }

     </script>

  </head>
  <body>
      <div id="menu">
          <div class="menuItem" onmouseover="hacerCosasDeVerdad('menuItem1');"
               onmouseout="hacerCosasDeVerdad('menuItem1');"><a href=#>Bla</a></div>
          <div class="menuItem" onmouseover="hacerCosasDeVerdad('menuItem2');"
               onmouseout="hacerCosasDeVerdad('menuItem2');"><a href=#>Bla</a></div>
      </div>
      
      <div id="menu">
          <div class="menuItem1" id="menuItem1" style="display: none;background-color: red;"><a href=#>Bla ocultp</a></div>
          <div class="menuItem2" id="menuItem2" style="display: none;background-color: blue;"><a href=#>Bla socultp</a></div>
     </div>

  </body>
</html> 
  #2 (permalink)  
Antiguo 06/11/2010, 17:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ¿Como hacer delay?

Hola:

Sin librerías es más fácil... busca información sobre setInterval y setTimeout... la segunda opción parece más idónea.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 08/11/2010, 17:46
 
Fecha de Ingreso: abril-2009
Ubicación: Santa Fe, Capital
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: ¿Como hacer delay?

Funciono bien setTimeout(), agrego un ejemplo muy sencillo

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Delay</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<meta name="Content-Script-Type" content="text/javascript"/>
<meta name="Content-Style-Type" content="text/css"/>
<script type="text/javascript">
//<![CDATA[
var speed=2000;
var id = "";
var accion = "";
function show(i,ac){
    id = i;
    accion = ac;
    setTimeout('fadeIn()',speed);
}

function fadeIn() {
    document.getElementById(id).style.display=accion;
}
//]]>
</script>
</head>
<body>

<div id="visible" onmouseover="show('oculto','inline');" onmouseout="show('oculto','none');">
    visible
</div>
<div id="oculto" style="display: none;">oculto</div>
</body>
</html> 

Gracias caricatos

Etiquetas: Ninguno
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 14:30.