Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Button sekundowy
Forum PHP.pl > Forum > Przedszkole
ComBox
Witam!
Tworze strony od jakiegos czasu, jednak nigdy nie interesowalem sie js, a potrzebuje buttona, ktory po czasie, np. 40 sekund umozliwi klikniecie w niego i sciagniecie jakiegos pliku (cos jak w rapidshare). Prosilbym osobe, ktora zna js o podanie mi krotkiego kodu takiego buttona.
Dzieki i pozdrawiam
My4tic
Gotowego kodu nie podam ale podpowiem Ci jak to zrobić.

1. Zrób sobie funkcje pobierającą dwa parametry - ID buttona i czas
2. W funkcji robisz pewnego rodzaju countdown (poszukaj w google - jest tego sporo)
3. Gdy countdown skończy odliczać czas, używająć:

  1. document.getElementById('ID butona').disabled=false


...możesz sobie włączyć button. Oczywiście ID buttona to ID przypisane tak:

  1. <input type="submit" value="download" id="button_01" disabled="disabled" />


Powodzenia.
ComBox
  1. <script language="Javascript">
  2. x414=40;
  3. function countdown()
  4. {
  5. if ((0 <= 100) || (0 > 0))
  6. {
  7. x414--;
  8. if(x414 == 0)
  9. {
  10. document.getElementById("dl").innerHTML = '<input type="submit" value="Pobierz plik" onClick="window.location='http://tutajplikdosciagniecia'">';
  11. }
  12. if(x414 > 0)
  13. {
  14. document.getElementById("dl").innerHTML = '<input type=submit value=\"Prosz� czeka� '+x414+' sekund..\">';
  15. setTimeout('countdown()',1000);
  16. }
  17. }
  18. }
  19. countdown();


Moze byc cos takiego?

edit: mam problem z odpaleniem tego, ktos moglby mi napisac co jest zle?
My4tic
JS

  1. function countdown(dd){
  2. sek = dd;
  3.  
  4. godziny=Math.floor(dd/3600);
  5. remain=Math.floor(dd-(godziny*3600));
  6. minuty=Math.floor(remain/60);
  7. sekundy=Math.floor(dd-(minuty*60+godziny*3600));
  8.  
  9. if (sekundy<10) sekundy= "0"+sekundy;
  10. if (minuty<10) minuty= "0"+minuty;
  11. if (godziny<10) godziny= "0"+godziny;
  12.  
  13.  
  14. document.getElementById("count").value=godziny+":"+minuty+":"+sekundy;
  15.  
  16.  
  17. if (dd==0) {
  18. document.getElementById("count").value="Download";
  19. document.getElementById("count").disabled=false;
  20. return
  21. }
  22.  
  23. sek = dd - 1
  24. setTimeout("countdown(sek)",1000);
  25. }


HTML

  1. <body onload="countdown(10)">
  2. <input type="submit" value="download" id="count" disabled="disabled" />
  3. </form>
  4. </body>
  5. </form>
ComBox
A gdzie mozna podac url tego pliku, zeby po odczekaniu tych sekund mozna bylo sciagnac??
My4tic
A może troche samodzielności? Co to - koncert życzeń jest? Przecież to są podstawy, pomyśl troche to napiszesz.
ComBox
Chociaz napisz mi co jest zle w tym kodzie:

  1. <script language="Javascript">
  2. x414=40;
  3. function countdown()
  4. {
  5. if ((0 <= 100) || (0 > 0))
  6. {
  7. x414--;
  8. if(x414 == 0)
  9. {
  10. document.getElementById("dl").innerHTML = '<input type="submit" value="Pobierz plik" onClick="window.location='http://tutajplikdosciagniecia'">';
  11. }
  12. if(x414 > 0)
  13. {
  14. document.getElementById("dl").innerHTML = '<input type=submit value=\"Prosz? czeka? '+x414+' sekund..\">';
  15. setTimeout('countdown()',1000);
  16. }
  17. }
  18. }
  19. countdown();
My4tic
Cytat(ComBox @ 12.09.2006, 14:43:40 ) *
To zes mi pomogl


Jakbys nie zauwazył podałem ci caly kod. Wypadałoby podziękować a za takie lenistwo i posty jak wyżej powinieneś warna dostać. Dla mnie koniec tematu. Powodzeniu w przepisywaniu skryptów.
ComBox
OK, juz sie skapnelem. Sory zamulilem, dzisiaj mam ciezki dzien. Dzieki za pomoc. smile.gif
SHiP
Kiedyś już zamieszcząłem gotowy kod timera, zamieszczę jeszcze raz
  1. <script type="text/javascript">
  2. var Timeout=Array();
  3.  
  4. function timer(id,time,endcode)
  5. {
  6.  
  7. window.clearTimeout(Timeout['timer_'+id]);
  8.  
  9. time--;
  10. var myTime = time;
  11.  
  12. var hours = Math.floor(time/3600);
  13. time-=hours*3600;
  14. var min = Math.floor(time/60);
  15. time-=min*60;
  16.  
  17. if(hours<10) hours='0'+hours;
  18. if(min<10) min='0'+min;
  19.  
  20. if(myTime==0) {document.getElementById(id).innerHTML=''; eval(endcode); return 0; }
  21. else document.getElementById(id).innerHTML=hours+':'+min+':'+time;
  22.  
  23. Timeout['timer_'+id] = window.setTimeout('timer("'+id+'",'+myTime+',"'+endcode+'")', 1000);
  24. }
  25.  
  26. <div id="licznik"></div>
  27.  
  28. <script type="text/javascript">
  29.  
  30. timer("licznik",6,"alert('Odblokuj button)");


W funkcji timer("licznik",6,"alert('Odblokuj button)");
kolejno patametry to:
- id licznika
- ilosc sekund
- kod javascript który ma sie wykonac po uplywie tego czasu
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.