Ver Mensaje Individual
  #10 (permalink)  
Antiguo 24/06/2010, 13:25
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: Problema con JavaScript

La función setTimeout recibe 2 parámetro que es la función y el delay, además recibe como parámetros opcionales los parámetros para la función que se va a ejejcutar.

setTimeout(funcion, delay, param1, param2, ....)

Por ejemplo:

Código Javascript:
Ver original
  1. setTimeout(hola, 1000, "Hola","Dany");
  2.  
  3. function hola (saludo, nombre){
  4.     alert(saludo+" "+nombre);
  5. }

Entonces podés utilizar $(this) pasandolo como parámetro

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>

$( function (){

    $('.bar').hover( function() {
        clearTimeout(infoClose);
        setTimeout(infoOpen, 370, $(this));
    },
    function() {
        clearTimeout(infoOpen);
        setTimeout(infoClose, 700, $(this));
    });


    function infoOpen(el) {
        $(el).animate({height:170},'easein');
    };

    function infoClose(el) {
        $(el).animate({height:30},'easeout');
    };

});
</script>
    <style>
        .bar{height:30px; width:250px; background:red; margin-bottom:10px }
    </style>
  </head>
<body>

    <div class="bar"></div>
    <div class="bar"></div>
    <div class="bar"></div>
    <div class="bar"></div>

</body>
</html>