проблемка с $(this) в jquery

sunrise
На сайте с 29.10.2003
Offline
195
618

Доброго дня!

Кто понимает в jquery, помогите, пожалуйста, понять, почему вот такой кусок кода работает:


$(document).ready(function(){

$('div.item').hover(
// при наведении
function(){

$(this).addClass('newhover');

},
// при уходе
function(){
$(this).removeClass('newhover');
}
);

});

а вот такой нет:


$(document).ready(function(){

$('div.item').hover(
// при наведении
function(){
setTimeout(function() { // добавлена функция setTimeout
$(this).addClass('newhover');
},1000); // 1 sek
},
// при уходе
function(){
$(this).removeClass('newhover');
}
);

});

т.е. по сути видимо получается внутри функции setTimeout скрипт уже не понимает, что такое $(this)

Как исправить?

Спасибо.

K
На сайте с 28.12.2008
Offline
61
kud
#1

        

function setState(element) {
$(element).addClass('newhover');
}
$(document).ready(function(){

$('div.item').hover(
// при наведении
function(){
setTimeout(setState,1000,$(this)); // 1 sek
},
// при уходе
function(){
$(this).removeClass('newhover');
}
);



});
sunrise
На сайте с 29.10.2003
Offline
195
#2

супер, спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий