Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: automatyczne przełączanie radiobuttona
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
muumiin
Czy da się napisać skrypt, który automatycznie, np. co 3 sekundy zmienia zaznaczenie radiobuttona? Najpierw opcja1, potem opcja2 itd, a na końcu znowu opcja1?


Jeśli się da, mógłby ktoś napisać mi taki skrypt? Niestety niewiele mam pojęcia o js, dopiero zaczynam się uczyć pisania stron i ledwie ogarniam html & css wink.gif
trueblue
W temacie o galerii podałem Ci link do galerii przełączanej bez użycia JS, ale Ty zakładasz kolejny temat dotyczący przełączania zamiast skorzystać z Google.
[javascript cycle click radio buttons]
Pierwszy link: http://stackoverflow.com/questions/2347532...op-continuously
muumiin
Korzystałam z google przez kilka godzin, ale nie jest to takie proste, gdy się nie jest w temacie. Poza tym chciałam tylko kilka linijek tekstu w odpowiedzi, bo tych skomplikowanych (dla mnie) kodów nie rozumiem...

Znalazłam wreszcie coś i przerobiłam:

function sliderright() {
if (document.getElementById('right1').checked) { document.getElementById('right2').checked = true;}
else if (document.getElementById('right2').checked) { document.getElementById('right3').checked = true;}
else if (document.getElementById('right3').checked) { document.getElementById('right4').checked = true;}
else if (document.getElementById('right4').checked) { document.getElementById('right1').checked = true;}
}

setInterval (sliderright, 3000);
kazmij
Ja bym to zrobił tak:
  1. <!DOCTYPE HTML>
  2. <head>
  3. <meta charset="UTF-8">
  4.  
  5. <title>KzCms</title>
  6.  
  7.  
  8. var interval = null, selectedID = 0;
  9.  
  10. var changeSelect = function() {
  11. var elements = document.getElementsByClassName('radio');
  12. for (var i = 0; i < elements.length; i++) {
  13. //console.log(selectedID);
  14. if (i === selectedID) {
  15. elements[i].setAttribute('checked', true);
  16. } else {
  17. elements[i].removeAttribute('checked');
  18. }
  19. }
  20. selectedID++;
  21. if (selectedID >= elements.length) {
  22. selectedID = 0;
  23. }
  24. }
  25. window.onload = function() {
  26. interval = setInterval(function() {
  27. changeSelect();
  28. }, 500);
  29. }
  30. </script>
  31. </head>
  32. <body>
  33.  
  34. <input type="radio" name="radiob" class="radio" value="1" />
  35. <input type="radio" name="radiob" class="radio" value="2" />
  36. <input type="radio" name="radiob" class="radio" value="3" />
  37. </body>
  38. </html>


ten kod zadziała. Sprawdzałem w przeglądarce. Sam napisałem biggrin.gif
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.