J'ai un peu de code que j'écris, essayant d'intégrer l'API de recherche bing dans mon site avec des résultats de recherche instantanée. J'utilise la fonction keyup de jquery pour envoyer les données à mon script côté serveur qui obtient ensuite la recherche bing xml et affiche les résultats. Le souci que j'ai est que je vais faire beaucoup trop de hits inutiles à mes scripts. Quelqu'un peut-il regarder s'il vous plaît et me dire comment je peux mettre un retard de 1 seconde entre les touches comme une minuterie? donc il ne mettra à jour les résultats que toutes les secondes environ?Délai Jquery entre les fonctions de clavier
C'est ce que j'ai créé jusqu'à présent, mais je ne sais pas si c'est correct ???
<script type="text/javascript">
var delay = (function() {
var timer = 0;
return function(callback, ms) {
clearTimeout(timer);
timer = setTimeout(callback, ms);
};
})();
function reloadsearch() {
var searchterms = $('#q').val();
if (searchterms.length >= 3) {
delay(function() {
var data = 'source=ajax&q=' + searchterms;
$.ajax({
type: "GET",
url: "results/",
data: data,
success: function(html) {
if (html !== '') {
$("#search-results").html(html);
$("#search-results").fadeIn(500);
}
}
});
}, 250);
}
else
{
$("#search-results").fadeOut(250);
}
};
$('#q').keyup(function() {
reloadsearch()
});
$(document).ready(function() {
reloadsearch()
});
Merci, vous êtes un gangsta! – Frank
Je vais ajouter ça à ma bio. Merci. – rcravens