Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Prosty skrypt odliczania sekund
messmaker
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


I od razu problem. Bez bicia się przyznam, że w tematyce JS raczkuję, ale wolę pisać samemu niż szukać gotowych rozwiązań. Mimo wszystko prosty skrypt odmawia współpracy. Oto kod:

  1. <script type="text/javascript">
  2. function dec(field) {
  3. alert(field);
  4. pole = document.getElementById(field);
  5. pole.value = pole.value-1;
  6. if (pole.value>0) {
  7. alert('OK, dalej'); setTimeout('dec('+field+')',1000);
  8. }
  9. }
  10. <input onmouseover="dec(this.id);" id="seconds1" type="text" style="width: 220px" value="10">
  11. </body></html>


Po najechaniu na pole tekstowe otrzymuję alert o treści "seconds1", zaraz po nim alert "OK, dalej", później następuje sekunda przerwy i alert o treści "[object HTMLInputElement]" i cały skrypt staje. domyślam się, że problem tkwi w miejscu setTimeout, ale za nic nie potrafię sobie z nim poradzić. Co zrobić, żeby poprawnie przekazywać seconds1?
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





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

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


  1. <script type="text/javascript">
  2. function dec(field) {
  3. field.value = field.value-1;
  4. if (field.value>0) {
  5. setTimeout(dec,1000,field);
  6. }
  7. }
  8. <input onmouseover="dec(this); this.onmouseover = null;" id="seconds1" type="text" style="width: 220px" value="10">
  9. </body></html>
  10.  
? Troszkę ulepszyłem (IMG:style_emoticons/default/smile.gif)

Ten post edytował kamil4u 16.01.2010, 18:28:10
Go to the top of the page
+Quote Post
messmaker
post
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


Hah, idealnie! Dzięki!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 22:12