Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Zablokować button na 5 sekund
Forum PHP.pl > Forum > Przedszkole
matis95
Witam. Czy da się zablokować możliwość kliknięcia w button na 5s tzn. kliknę w button raz, i drugi raz mogę dopiero za 5s. Moja strona po kliknięciu w button się nie odświeża, bo ładuje treść do diva za pomocą jQuery.
ADeM
  1. $(submitButton).attr("disabled", "disabled"); // To disable
  2. $(submitButton).removeAttr("disabled"); // To enable
kalmaceta
jeśli chodzi o czasy zakończonych poprzednich operacji najlepiej callback function użyć, jeśli konkretnie o 5 sek. setTimeout
matis95
Chciałbym, aby jeśli kliknie się szybciej niż w czasie 5s od poprzedniego kliknięcia to wyświetlał się alert.
markonix
Na wyłączonym (disabled) buttonie nie wywołasz akcji kliknięcia więc albo to albo to.
matis95
Ale chciałbym aby ten button był włączony i po naciśnięciu wywołuje funkcję. Jeśli naciśniemy drugi raz, a nie minie 5s to wyświetla alert, a jeśli minęło 5s to ponownie wykonuje funkcję.
Moja funkcja to
Kod
$('#result').load('ściezka');
kalmaceta
w onclicku buttona:

[JAVASCRIPT] pobierz, plaintext
  1. if ($('#buttonik').attr('rel') == 'klik'){
  2. alert('bylo');
  3. return false;
  4. } else {
  5. $('#buttonik').attr('rel','klik');
  6. $('#buttonik').css('color','grey'); //wyszarzenie
  7.  
  8. // tutaj rob co chesz
  9. windows.setTimeout((function (){$('#buttonik').attr('rel','ok');}),5000);
  10. }
[JAVASCRIPT] pobierz, plaintext
matis95
Dzięki. Działa. Ale musiałem usunąć windows przed setTimeout bo nie działało. Dodałem jeszcze
Kod
$('#buttonik').css('color','black')
aby po 5s napis buttona znów robił się czarny.

Dla przyszłych pokoleń tongue.gif
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <title>Title</title>
  4. <script type="text/javascript" src="javascript/jquery.js"></script>
  5. <script type="text/javascript">
  6. <!--
  7. function action()
  8. {
  9. if ($('#buttonik').attr('status') == 'locked'){
  10. alert('Musisz odczekać 5 sekund');
  11. return false;
  12. }
  13. else {
  14. $('#buttonik').attr('status','locked');
  15. $('#buttonik').css('color','grey');
  16. //kod do wykonania
  17. setTimeout((function(){$('#buttonik').attr('status','unlocked'); $('#buttonik').css('color','black');}),5000);
  18. }
  19. }
  20. -->
  21. </head>
  22. <input type="submit" value="klik" onclick="action()" id="buttonik" />
  23. </body>
  24. </html>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.