Просто хранить $(this)
в переменной и использовать эту переменную в вашей анонимной функции:
$(document).ready(function() {
$('.holder').hover(function() {
var $self = $(this);
setTimeout(function(){
$self.find('.heading').slideUp();
}, 500);
},function() {
$(this).find('.heading').slideDown();
});
});
Edit В ответ на комментарии:
$(document).ready(function() {
var timer;
$('.holder').hover(function() {
var $self = $(this);
timer = setTimeout(function(){
timer = false;
$self.find('.heading').slideUp();
}, 2000);
},function() {
if(timer){
clearTimeout(timer);
timer = false;
}else{
$(this).find('.heading').slideDown();
}
});
});
Что вы хотите отложить? – twinlakes
SlideUp() ... – user1830414
Если вы просто хотите отложить слайд-функции, у jQuery есть методы для этого: http://api.jquery.com/delay/ –