Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [JavaScript]Stoper
szczabik
post 26.11.2008, 14:54:16
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Zrobiłem takie coś
  1. <?php
  2. echo "<script type=\"text/javascript\">
  3. function stoper() {
  4. ile=1200;  
  5. minut = Math.floor(ile / (1000 * 60)-godzin*60);
  6. sekund = Math.floor(ile / 1000 - godzin*60*60 - minut*60);
  7.  
  8. window.document.getElementById(\"div1\").innerHTML = ‘Pozostalo: ‘+minut+’ minut, ‘+sekund+’ sekund’;
  9.  
  10. }
  11.  
  12. window.setInterval(stoper,1000);
  13. </script>
  14.  
  15.  
  16. <div id=\"div1\"></div>";
  17. ?>


i nie chce coś liczyć ile czasu pozostało i nie wiem co zrobiłem źle może mi ktoś pomóc z tym kodem ?
Go to the top of the page
+Quote Post
wookieb
post 26.11.2008, 15:15:11
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A gdzie masz zmienną "godzin" ?


--------------------
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 15:49:50
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Zrobiłem tak
  1. <?php
  2. echo "<script type=\"text/javascript\">
  3. function stoper() {
  4. ile=1200;
  5. godzin = Math.floor(ile / (1000 * 60 * 60));  
  6. minut = Math.floor(ile / (1000 * 60)-godzin*60);
  7. sekund = Math.floor(ile / 1000 - godzin*60*60 - minut*60);
  8. window.document.getElementById(\"div1\").innerHTML = \"Pozostalo: \"+minut+\" minut \"+sekund+\" sekund\";
  9.  
  10. }
  11.  
  12. window.setInterval(stoper,1000);
  13. </script>
  14.  
  15.  
  16. <div id=\"div1\"></div>";
  17. ?>

i wyświetla cały czas Pozostalo: 0 minut 1 sekund
Stała ile=1200 gdzie 1200 to 20 min i chciał bym by od 20 min liczyło mi do 0
I nie wiem jak to zrobić
Go to the top of the page
+Quote Post
wookieb
post 26.11.2008, 15:55:10
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No pewnie ze wyswietla cały czas ta sama wartosc po przeciez nie zmieniasz wartosci zmiennej 'ile'.
Kod
var ile=1200;

function stoper()
{
godzin=Math.floor(ile/3600);

minut =Math.floor(ile/60)%60;
sekund =ile/%60;

document.getElementById('div1').innerHTML = 'Pozostalo: '+minut+' minut '+sekund+' sekund';
ile--;
}

var intervalHandler=setInterval(stoper,1000);


Ten post edytował wookieb 26.11.2008, 15:55:57


--------------------
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 16:00:58
Post #5





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Zrobiłem tak jak piszesz i nic nie wyświetla
Go to the top of the page
+Quote Post
wookieb
post 26.11.2008, 16:03:36
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Literówka...
Kod
sekund =ile%60;

którą mogłeś sobie poprawić....

Ten post edytował wookieb 26.11.2008, 16:04:20


--------------------
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 16:07:30
Post #7





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Dalej nic się nie wyświetla
Go to the top of the page
+Quote Post
wookieb
post 26.11.2008, 16:10:24
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jak nie działa jak działa
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />

  <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css" />
  
</head>
<body>
<div id="div1"></div>
<script type="text/javascript">
var ile=1200;

function stoper()
{
godzin=Math.floor(ile/3600);

minut =Math.floor(ile/60)%60;
sekund =ile%60;

document.getElementById('div1').innerHTML = 'Pozostalo: '+minut+' minut '+sekund+' sekund';
ile--;
}

var intervalHandler=setInterval(stoper,1000);
</script>
</body>
</html>

Ale jak znam życie to bezmyślnie skopiowałeś i nie poprawiłeś ' które sa zamiennikami \" w twoim kodzie.

Wiec zacznij myśleć i popraw to co musisz SAM poprawić.


--------------------
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 16:40:44
Post #9





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Dopisałem taki kod
Kod
if ('+minut+' == 0 && '+sekund+' == 0){
clearInterval(intervalHandler);
}

by zatrzymać stoper gdy dojdzie do 0 ale coś ten kod nie działa bo stoper się nie zatrzymuje. Wie ktoś czemu ?
Go to the top of the page
+Quote Post
erix
post 26.11.2008, 16:44:19
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Kod
if ('+minut+' == 0 && '+sekund+' == 0){

Masz błąd w instrukcji warunkowej. Źle wstawiasz zmienne do porównania i wychodzi Ci babol w składni. Chwyć za kurs JavaScript, bo to są podstawy.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 16:54:47
Post #11





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Może mi ktoś powiedzieć co źle zrobiłem w tej instrukcji warunkowej
Go to the top of the page
+Quote Post
erix
post 26.11.2008, 16:59:49
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wkleiłeś bezmyślnie kod z:
Kod
'Pozostalo: '+minut+' minut '+sekund+' sekund'

Zobacz, jak wygląda instrukcja warunkowa w JS i co oznaczają użyte operatory +.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 17:04:12
Post #13





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Zrobilem tak i też nie działa
Kod
if (minut == 0 && sekund == 0){
clearInterval(intervalHandler);
}
Go to the top of the page
+Quote Post
wookieb
post 26.11.2008, 17:04:13
Post #14





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(szczabik @ 26.11.2008, 16:40:44 ) *
Dopisałem taki kod
Kod
if ('+minut+' == 0 && '+sekund+' == 0){
clearInterval(intervalHandler);
}

by zatrzymać stoper gdy dojdzie do 0 ale coś ten kod nie działa bo stoper się nie zatrzymuje. Wie ktoś czemu ?


A czy nie prościej
Kod
if(ile==0)

...


--------------------
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 17:06:41
Post #15





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


A czy nie prościej
Kod
if(ile==0)

Zrobilem tak i dalej liczy nie zatrzymuje sie na 0
Go to the top of the page
+Quote Post
erix
post 26.11.2008, 17:07:04
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Lepiej sprawdzać, czy jest mniejsze/równe zeru, bo podejrzewam, że wyłączasz stoper, gdy wartość jest -1. winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 17:14:22
Post #17





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


To jak mam to zrobić gdy dojdzie do 0 by się zatrzymało

Ten post edytował szczabik 26.11.2008, 17:14:44
Go to the top of the page
+Quote Post
wookieb
post 26.11.2008, 17:27:30
Post #18





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Czy to wógóle czytasz co się do ciebie pisze?questionmark.gif
Kod
if(ile<=0)
{
clearInterval(intervalHandler);
}


Ten post edytował wookieb 26.11.2008, 17:27:38


--------------------
Go to the top of the page
+Quote Post
szczabik
post 26.11.2008, 17:30:11
Post #19





Grupa: Zarejestrowani
Postów: 226
Pomógł: 1
Dołączył: 13.05.2008

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


Zrobilem już tak wcześniej i się nie zatrzymuje
Go to the top of the page
+Quote Post
wookieb
post 26.11.2008, 17:33:06
Post #20





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Albo ja jestem głupi ale wykazujesz nadzwyczajny poziom niskiej inteligencji
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />

  <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css" />
  
</head>
<body>
<div id="div1"></div>
<script type="text/javascript">
var ile=5;

function stoper()
{
godzin=Math.floor(ile/3600);

minut =Math.floor(ile/60)%60;
sekund =ile%60;

document.getElementById('div1').innerHTML = 'Pozostalo: '+minut+' minut '+sekund+' sekund';
ile--;
    if(ile<0)
    {
    clearInterval(intervalHandler);
    }

}

var intervalHandler=setInterval(stoper,1000);
</script>
</body>
</html>

I jak chcesz napisać "nie działa" to ułóż to ładniej w słowa tongue.gif


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 18.07.2025 - 15:28