Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Wykonanie skryptu po upływie określonego czasu
Regss
post 5.02.2014, 21:25:10
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 7.05.2006

Ostrzeżenie: (0%)
-----


Mój skrypt poniżej. #search to pole input. Chciałbym aby po naciśnięciu dowolnej litery skrypt odczekał z wykonaniem części pobierającej dane za pomocą JSON przykładowo pół sekundy i jeśli nie nastąpi ponowne naciśnięcie klawisza dopiero wykonał funkcje pobierającą dane. Nie mogę sobie z tym kompletnie poradzić.


  1. // live search
  2. $(document).on('keyup click', '#search', function() {
  3.  
  4. var search = $(this).val();
  5.  
  6. if (search.length > 0) {
  7. $.getJSON("function.js.php?option=search&search="+search, function(data){
  8. $('#panel_live_search').empty();
  9. for(var m in data) {
  10. var movie = data[ m ];
  11. $('#panel_live_search').append('\
  12. <a href="index.php?id='+movie['id']+'">\
  13. <div class="live_search_box" title="'+movie['title']+'">\
  14. <img class="img_live_search" src="cache/'+movie['id']+'.jpg">\
  15. <div class="live_search_title">'+movie['title']+'</div>\
  16. <div class="live_search_orig_title">'+movie['originaltitle']+'</div>\
  17. '+movie['year']+' | '+movie['rating']+' | '+movie['runtime']+' min. | '+movie['genre']+' | '+movie['country']+' | '+movie['director']+'\
  18. </div>\
  19. </a>');
  20. }
  21. });
  22. }
  23. $(document).click(function(){
  24. $('#panel_live_search').empty();
  25. });
  26. });


Ten post edytował Regss 5.02.2014, 21:26:48
Go to the top of the page
+Quote Post
kamil4u
post 5.02.2014, 21:51:00
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


- setTimeout
- clearTimeout

Kod
<button id="test">Jeśli mnie klikniesz masz 1s na zresetowanie mnie( ponowne kliknięcie ), inaczej pojawi się alert</button>
<script>
var time;
document.getElementById("test").onclick = function(){
clearTimeout( time );
time = setTimeout( function(){
   alert("Czas minął - coś sobie robię");
}, 1000);
}
</script>


--------------------
Go to the top of the page
+Quote Post
Regss
post 5.02.2014, 21:59:23
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 7.05.2006

Ostrzeżenie: (0%)
-----


Jakie to proste... Dzięki, Pozdrawiam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.05.2024 - 01:05