0

我最近打开了一个线程:在 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();
});

预先感谢您的帮助。

4

0 回答 0