Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Problem z kodem liczącym
thomson89
post 8.04.2009, 15:14:04
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Witam!

Skoro mi nikt nie pomaga, to próbuję własnych sił. Stworzyłem sobie kodzik który wyświetla jakąś tam liczbę. Lecz:
- jak ustawiam w ifie na 5, to liczba wyświetla się 6 a potem przycisk znika
- jak ustawiam w ifie na 0, to liczba wyświetla się -1, a potem przycisk znika
- mimo że dałem style display display to i tak, przycisk, po zmienieniu wartości się nie pojawia
- tak samo z minusem - daję minus, a potem plus to przycsik minus się nie pojawia

Niestety nie wiem jak rozwiązać ten problem. Prosze o pomoc!

KOD:
Kod
<html>
<head>

</head>
<body>
<script type="text/javascript">
i=0;
function dalej(){
    if(i=='5'){
    document.getElementById('dalej').style.display = 'none';
    }
    if(i<'5'){
    document.getElementById('dalej').style.display = 'display';
    }
    

    i++;
    document.getElementById('liczba').innerHTML = i;
}

function wstecz(){
    if(i=='0'){
    document.getElementById('wstecz').style.display = 'none';
    }
    if(i!='0'){
    document.getElementById('wstecz').style.display = 'display';
    }

    i--;
    document.getElementById('liczba').innerHTML = i;
}

</script>
<p>Oto zmieniająca się liczba <b id='liczba'>0</b> </p>
<input type='button' id="wstecz" onclick='wstecz()' value='wstecz'/>
<input type='button' id="dalej" onclick='dalej()' value='dalej'/>

</body>
</html>


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
piotrooo89
post 8.04.2009, 15:22:20
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ale co ty chcesz osiągnąć? bo ja nie wiem a przeczytałem chyba z 3 razy.


--------------------
Go to the top of the page
+Quote Post
thomson89
post 8.04.2009, 15:23:35
Post #3





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Chcę osiągnąć dodawanie liczby według wskazań. Potrzebne jest mi to do galeri w js.


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Pitter
post 8.04.2009, 15:23:39
Post #4





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

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


Problem w tym, że w funkcji wstecz nie ustawiłeś, aby button dalej pojawił się gdy i<5 i odwrotnie w funkcji dalej nie ustawiłeś, aby button wstecz pojawiał się gdy naciśniejsz na dalej.
Button się nie pojawi jeżeli użyjesz display='display' nie ma czegoś takiego. Jest display = 'block';

Ten post edytował Pitter 8.04.2009, 15:26:17
Go to the top of the page
+Quote Post
thomson89
post 8.04.2009, 15:27:22
Post #5





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Czyli trzeba to zamienić? Button dalej display dać do wstecz i odwrotnie?

Dałem to do dalej:
Kod
if(i>'0'){
    document.getElementById('wstecz').style.display = 'display';
    }

A to do wstecz:
Kod
if(i<'5){
    document.getElementById('dalej').style.display = 'display';
    }


Ale nadal nie działa. sleep.gif

Ten post edytował thomson89 8.04.2009, 15:31:14


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Pitter
post 8.04.2009, 15:32:13
Post #6





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

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


Dobrze tylko tak jak pisałem. Nie ma czegoś takiego jak style.display = 'display' jest style.display = 'block'

Ten post edytował Pitter 8.04.2009, 15:33:13
Go to the top of the page
+Quote Post
thomson89
post 8.04.2009, 15:35:15
Post #7





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Jak dałem block, to to jest jak blokada przycisku... haha.gif nie da się kliknąć sleep.gif

Ten post edytował thomson89 8.04.2009, 15:35:42


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Pitter
post 8.04.2009, 15:38:46
Post #8





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

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


Pokaż kod jaki wygenerowałeś
Go to the top of the page
+Quote Post
thomson89
post 8.04.2009, 15:48:42
Post #9





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Kod
<html>
<head>

</head>
<body>
<script type="text/javascript">
i=0;
function dalej(){
    if(i=='5'){
    document.getElementById('dalej').style.display = 'none';
    }
    if(i>'0'){
    document.getElementById('wstecz').style.display = 'block';
    }
    

    i++;
    document.getElementById('liczba').innerHTML = i;
}

function wstecz(){
    if(i=='0'){
    document.getElementById('wstecz').style.display = 'none';
    }
    if(i<'5){
    document.getElementById('dalej').style.display = 'block';
    }

    i--;
    document.getElementById('liczba').innerHTML = i;
}

</script>
<p>Oto zmieniająca się liczba <b id='liczba'>0</b> </p>
<input type='button' id="wstecz" onclick='wstecz()' value='wstecz'/>
<input type='button' id="dalej" onclick='dalej()' value='dalej'/>

</body>
</html>


W IE widać że przycisk nie jest zablokowany, tylko skrypt po prostu się nie wykonuję. blinksmiley.gif

---EDIT---

Pomóżcie proszę. Ja tego nie umiem zrobić. Co ma źle?

Próbowałem też tak:
Kod
<html>
<head>

</head>
<body>
<script type="text/javascript">
function dalej(){
    i++;
    document.getElementById('liczba').innerHTML = i;
    return i;
}

function wstecz(){
    i--;
    document.getElementById('liczba').innerHTML = i;
            return i;
}

function zmien(dzialanie){

    i=0;    
    if(dzialanie == 'dalej'){
        i = dalej();
        if(i=='5'){
        document.getElementById('dalej').style.display = 'none';
        }
        if(i<'5'){
        document.getElementById('dalej').style.display = 'display';
        }
    }
    if(dzialanie == 'wstecz'){
        i = wstecz();
        if(i=='0'){
        document.getElementById('wstecz').style.display = 'none';
        }
        if(i!='0'){
        document.getElementById('wstecz').style.display = 'display';
        }
    }

}

</script>
<p>Oto zmieniająca się liczba <b id='liczba'>0</b> </p>
<input type='button' id="wstecz" onclick='zmien(wstecz)' value='wstecz'/>
<input type='button' id="dalej" onclick='zmien(dalej)' value='dalej'/>

</body>
</html>


Ale nie wychodzi...

Ten post edytował thomson89 8.04.2009, 19:16:34


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
piotrooo89
post 8.04.2009, 20:38:38
Post #10


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




wykombinowałem coś takiego:

  1. <script type="text/javascript">
  2. var i = 0;
  3. function przod_tyl(gdzie)
  4. {
  5. if (gdzie=='p')
  6. {
  7. i++;
  8. document.getElementById('liczba').innerHTML = i;
  9. if (i >= 5)
  10. {
  11. document.getElementById('dalej').style.display = 'none';
  12. document.getElementById('wstecz').style.display = 'block';
  13. }
  14. else if (i < 5)
  15. {
  16. document.getElementById('dalej').style.display = 'block';
  17. document.getElementById('wstecz').style.display = 'block';
  18. }
  19. }
  20. else if (gdzie=='t')
  21. {
  22. i--;
  23. document.getElementById('liczba').innerHTML = i;
  24. if (i == 0)
  25. {
  26. document.getElementById('wstecz').style.display = 'none';
  27. document.getElementById('dalej').style.display = 'block';
  28. }
  29. else if (i >= 1)
  30. {
  31. document.getElementById('wstecz').style.display = 'block';
  32. document.getElementById('dalej').style.display = 'block';
  33. }
  34. }
  35. }
  36. <p>Oto zmieniająca się liczba <b id="liczba">0</b> </p>
  37. <input type="button" id="wstecz" onclick="przod_tyl('t')" style="display: none;" value="wstecz"/>
  38. <input type="button" id="dalej" onclick="przod_tyl('p')" value="dalej"/>


--------------------
Go to the top of the page
+Quote Post
thomson89
post 9.04.2009, 20:46:37
Post #11





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Dziękuję. Widać że podobne do mojego smile.gif

PS: Znalazłem buga. Jak się zacznie klikać szybciej, to wtedy ominie się blokadę. Ale to nie problem bo to do galeri ma być.

--EDIT--

Jeszcze jedno. Przyciski wyświetlają mi się pod sobą. Jak można je zrobic obok siebie?

Mając kod liczacy tworzę sobie spokojnie galeryjkę, aż do napotkania kolejnego błędu. Mianowicie znowu problem z ifami. Nie wiem jak to rozwiązać. Jak daję na dalej, aż do ostatniego obrazka to potem mini obrazek znika. Ale jak daję wstecz, to się nie pojawia. Dopiero się pojawia jak daję pierwszy obrazek. Od razu piszę że to mój pierwszy kod js i bazuję tylko na kursach z internetu. Galeria do zobaczenia: mateuszkow.oz.pl/galeria/test.html.

CODE
<script type="text/javascript">
var i = 1;
var max = 4;
function przod_tyl(gdzie)
{

if (gdzie=='p')
{

i++;
a = i-1;
b = i+1;

document.getElementById('obrazek').src = i+'.jpg';
document.getElementById('pozycja').innerHTML = i+'/'+max;
document.getElementById('zdjecie1').src = a+'.jpg';
document.getElementById('zdjecie2').src = i+'.jpg';
document.getElementById('zdjecie3').src = b+'.jpg';

if (i >= max)
{
document.getElementById('dalej').style.display = 'none';
document.getElementById('wstecz').style.display = 'inline';
document.getElementById('zdjecie3').style.display = 'none';
}

else if (i < max)
{
document.getElementById('dalej').style.display = 'inline';
document.getElementById('wstecz').style.display = 'inline';
document.getElementById('zdjecie1').style.display = 'inline';
document.getElementById('zdjecie3').style.display = 'inline';
}

}

else if (gdzie=='t')
{

i--;
a = i-1;
b = i+1;

document.getElementById('obrazek').src = i+'.jpg';
document.getElementById('pozycja').innerHTML = i+'/'+max;
document.getElementById('zdjecie1').src = a+'.jpg';
document.getElementById('zdjecie2').src = i+'.jpg';
document.getElementById('zdjecie3').src = b+'.jpg';




if (i == 1)
{
document.getElementById('wstecz').style.display = 'none';
document.getElementById('dalej').style.display = 'inline';
document.getElementById('zdjecie1').style.display = 'none';
document.getElementById('zdjecie3').style.display = 'inline';
}

else if (i >= max)
{
document.getElementById('wstecz').style.display = 'inline';
document.getElementById('dalej').style.display = 'inline';
document.getElementById('zdjecie1').style.display = 'inline';
document.getElementById('zdjecie3').style.display = 'inline';
}

}

}
</script>
<center>
<img src="1.jpg" width="400" height="400" id="obrazek">
<table><tr><td width="70" align="center" bgcolor="silver">
<div id="wstecz" onclick="przod_tyl('t')" style="display: none;"><b> < Wstecz</b></div>
</td>
<td width="70" bgcolor="silver" align="center">
<b><div id="pozycja">1/4</div></b>
</td>

<td width="70" bgcolor="silver" align="center">
<div id="dalej" onclick="przod_tyl('p')" style="display: inline;"><b>Dalej ></b></div>
</td></tr>
<!-- miniatury -->
<tr>
<td height="100"><img id="zdjecie1" src="0.jpg" width="100" height="100" style="display: none;" /></td>
<td><img id="zdjecie2" src="1.jpg" width="100" height="100" /></td>
<td><img id="zdjecie3" src="2.jpg" width="100" height="100" style="display: inline;" /></td>
</table>


Ten post edytował thomson89 8.04.2009, 21:17:50


--------------------
Sklep 70%
Go to the top of the page
+Quote Post

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: 25.07.2025 - 02:33