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 originalsetTimeout(hola, 1000, "Hola","Dany");
function hola (saludo, nombre){
alert(saludo+" "+nombre);
}
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>