我有AJAX请求,它从远程文件获取数据并显示在页面上的div中。当用户将鼠标悬停在链接上时,将调用AJAX并显示带数据的div,并且当鼠标移出链接时,它会消失。该div立即显示,但当鼠标移出时,鼠标移出和隐藏div之间会有大约5秒的延迟。中止AJAX请求
我认为它与AJAX请求阻塞隐藏功能有关,因为当我删除AJAX请求时div立即隐藏。
当鼠标从链接中移除并且无论如何都隐藏div时,是否有某些操作可以中止,杀死或忽略AJAX?
这里是我的代码至今:
$(function(){
var showPopup = function(){
$.ajax({
type: "GET",
url: "/process.cfm",
data: "id=" + 1,
success: function(data){
$(".profilePopup").html(data);
if ($(data).find(".profileResult").length) {
var text = $(data).find(".profileResult").html();
$(".profilePopup").html(text);
}
}
});
$(".profilePopup").show();
}
var hidePopup = function(){
$(".profilePopup").hide();
}
$("#username").mouseover(showPopup);
$("#username").mouseout(hidePopup);
});
我已经分配AJAX调用给一个变量,然后用中止()在hidePopup()函数把它打死了之前隐藏弹出。不幸的是,这并没有解决问题,并且弹出窗口在消失之前仍然“卡住”至少5-6秒。 – Eleeist 2012-04-12 16:17:09