Вход

Просмотр полной версии : метод .find()


Кирюха =)
21.07.2012, 01:05
Возникла очень странная ситуация писал обработчик события Hover и метод find не работает. Вот код:
var intervalID2;
$('.perobl').hover(function(){
intervalID2=setTimeout(
function() {
$(this).find('#dop-info').fadeIn(200);
}, 350);
},function(){
$(this).find('#dop-info').fadeOut(200);
clearInterval(intervalID2);
});

Вот живой пример http://kamskie.ru/
P.S. Это скрипт информера (начинается со 164 строчки)

Deff
21.07.2012, 01:34
Кирюха =),
//обработчик информера погоды
var intervalID2;
$('.perobl').hover(function(){
var aa = $(this);
intervalID2=setTimeout(
function() {
aa.find('#dop-info').fadeIn(200);
}, 350);
},function(){
$(this).find('#dop-info').fadeOut(200);
clearInterval(intervalID2);
});

this не наследуется безусловно, в отличие от явно заданных переменных

Кирюха =)
21.07.2012, 10:43
Спасибо большое, буду знать

Кирюха =)
21.07.2012, 10:56
А почему в первой функции this не наследуется а во второй наследуется?

Deff
21.07.2012, 11:58
Кирюха =),
Потому что вторая запускается без вложенности в setTimeout, там не наследуется - а исходное this, переданное .hover/over

Кирюха =)
22.07.2012, 16:31
спасибо Профессор :)