Tengo una lista de enlaces que apuntan a páginas html.Agregar demora antes de enviar nueva solicitud ajax usando jquery
<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>
y tengo una Javascript (jQuery) recives wich y añadir el html en mi documento.
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>')
}
});
});
He intentado trabajar con setTimeout() pero no funciona como he aspectado.
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
);
});
¿Cómo puedo saber que esperar jQuery (500 ms o 1000 ms ...) o en vuelo estacionario antes de enviar la nueva solicitud?
Estoy en lo cierto al pensar que desea realizar la solicitud sólo si el usuario se desplaza sobre el enlace durante más de 2 segundos? – lonesomeday
lonesomeday tienes razón. – gearsdigital