У меня есть этот код:
clearTimeout(tooltiptimeout);
tooltiptimeout="";
$("#tool").fadeOut("slow").queue(function(){
tooltiptimeout=setTimeout(function(){
$("#tool").css("left",item.pageX-33);
$("#tool").css( "top",item.pageY-95);
$("#tool").fadeIn("slow");
}, 1000);
$(this).dequeue();
});
Что он должен сделать, так это: когда пользователь наводит указатель мыши на объект, появляется всплывающая подсказка. Затем, когда пользователь убирает мышь, всплывающая подсказка должна немедленно исчезнуть. Позже, когда пользователь кладет свою мышь на другой объект, вызывается тайм-аут в 1 секунду, прежде чем всплывающая подсказка появляется в новом месте.
Проблема в том, что сейчас затухание вызывается не сразу, а только тогда, когда происходит setTimeout. (то есть вместо того, чтобы сначала исчезать, а затем появляться некоторое время спустя. Сейчас подсказка остается на месте, затем некоторое время спустя она исчезает, а затем исчезает в новом месте).
Что дает?
Кстати, этот код имеет ту же проблему:
$("#tool").fadeOut("slow",function(){
tooltiptimeout=setTimeout(function(){
$("#tool").css("left",item.pageX-33);
$("#tool").css( "top",item.pageY-95);
$("#tool").fadeIn("slow");
}, 1000);
});