Добавьте задержку прежде, чем отправить новый запрос ajax с помощью jQuery

У меня есть список ссылок, которые указывают на страницы HTML.

<ul id="item-list">
    <li><a href="assets/data/item1.html">Item 1</a></li> 
    <li><a href="assets/data/item2.html">Item 2</a></li>
    <li><a href="assets/data/item3.html">Item 3</a></li>
    <li><a href="assets/data/item3.html">Item 4</a></li>
</ul>

И у меня есть JavaScript (jQuery), который получает, и добавьте HTML к моему документу.

var request;
$('#item-list a').live('mouseover', function(event) {
    if (request)
        request.abort();
        request = null;

    request = $.ajax({
        url: $(this).attr('href'),
        type: 'POST',
        success: function(data) {
            $('body').append('<div>'+ data +'</div>')
        }
    });
});

Я попытался работать с setTimeout (), но он не работает мной aspected.

    var request, timeout;
$('#item-list a').live('mouseover', function(event) {
    timeout = setTimeout(function(){
        if (request)
            request.abort();
            request = null;

        request = $.ajax({
            url: $(this).attr('href'),
            type: 'POST',
            success: function(data) {
                $('body').append('<div>'+ data +'</div>')
            }
           });
        }, 2000
    );
});

Как я могу сказать jQuery ожидать (500 мс или 1 000 мс или …) на парении прежде, чем отправить новый запрос?

7
задан gearsdigital 19 October 2010 в 21:26
поделиться