我最近打开了一个线程:在 Rails 3 中使用 Ajax 更新部分
实际上,多亏了 Ogz 向导,一切正常,但是当我在彼此远离的两个项目之间移动鼠标时速度非常慢,因为它们之间的每个项目都发送了 XMLHTTPRequest...
如果 mouseenter 和 mouseleave 之间的间隔低于阈值,我考虑过中止请求,但这没有帮助。
我还尝试添加一个计时器来触发接近“到期时间”的请求,这样如果相同的间隔太小但又没有成功,请求就没有时间回答。
这是代码:
var timeStart, timeEnd;
$("div.show_item").mouseenter(function(event){
timeStart = (new Date()).getTime();
var id = $(this).attr('data');
var url = "/item/list?id="+id;
var data = $(this).serialize();
setTimeout(xhr = $.post(url, function(response_data){$("#item_details").html(response_data)}),290);
return false;
}).mouseleave(function(event){
timeEnd = (new Date()).getTime();
if(timeEnd - timeStart < 300)
xhr.abort();
});
预先感谢您的帮助。