[ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.01.11
Prihlásený: 08.05.12
Príspevky: 73
Témy: 29 | 29
NapísalOffline : 27.10.2011 19:11 | Podmienka nejde

Hi Programers,

mam problem, mam tlacitko obrana. Ked nan kliknem premenna act sa zmeni na ano, ale ked to chcem dat zase na nie tak ze kliknem, uz to nejde. Kod:

Kód:
<script>
var act = "nie";
function branit()
{
   if (act == "ano") {
      act = "nie";
      document.getElementById('obrazok1').src = 'sword1.png';
   }

   if (act == "nie") {
      act = "ano";
      document.getElementById('obrazok1').src = 'stit.png';
}

}
function spet() {
document.getElementById('obrazok1').src = 'sword1.png';
}
function lol(cisielko) {
if (act == "ano")
{

}
if (act == "nie")
{
   document.getElementById('obrazok1').src = 'sword' + cisielko + '.png';
   var t = setTimeout("spet();",1000);
}
}

function stale() {
document.getElementById('asdf').innerHTML = act;
setTimeout("stale();",10);
}
</script>

<body onLoad="document.getElementById('obrazok1').src = 'sword1.png'; setTimeout('stale();',10);">
<img id="obrazok1" src="sword3.png"><br>
<input type="submit" value="Zautoc" onClick="lol(3);"><span id="asdf"></span><input type="submit" id="obrana" value="Branit" onClick="branit();">
</body>


Offline

Čestný člen
Čestný člen
Podmienka nejde

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 27.10.2011 19:30 | Podmienka nejde

gamelaster píše:
Kód:
   if (act == "ano") {
      act = "nie";
      document.getElementById('obrazok1').src = 'sword1.png';
   }

   if (act == "nie") {
      act = "ano";
      document.getElementById('obrazok1').src = 'stit.png';
}
Uz tu vidim, ze ak plati act == "ano", tak sa vykona aj jedna ta vetva, aj druha, a teda obrazok bude mat po zavolani tejto fcie src="stit.png", to je zrejme nechcene. Vidis preco? Odporucam rozmyslat, ako sa ten kod bude spravat pri akych vstupoch; toto nie je o ovladani Javascriptu, ale o elementarnom analytickom mysleni.
Dalej sa ani nejdem zamyslat, co ma ten kod robit. Oprav si logiku kodu.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.01.11
Prihlásený: 08.05.12
Príspevky: 73
Témy: 29 | 29
Napísal autor témyOffline : 28.10.2011 11:32 | Podmienka nejde

logiku chapem, mne vsetko vychadaza dobre, zatvorky mam dobre(kontrolovane Notepad++) no ja nwm co dalej :(


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 28.10.2011 11:41 | Podmienka nejde

To, že zátvorky sa vyskytujú v pároch tak, ako treba, ale neznamená, že to bude robiť to, čo chceš (javascript totiž nevie čítať myšlienky programátora).

Ak v act môže byť len "ano" a "nie", tak namiesto:
Kód:
if (act == "ano") {
  ...
}

if (act == "nie") {
  ...
}
tam môžeš mať
Kód:
if (act == "ano") {
  ...
} else {
  ...
}
(a samozrejme by ešte lepšie bolo, ak by act obsahovalo len true alebo false; je to rýchlejšie ako porovnávanie reťazca)

PS: Celkom dobré by bolo, keby si si pozrel nejaké návody pre javascript, ktoré nemajú 10+ rokov. :) (všetky tie setTimeout("funkcia();",10); onClick="nieco"; sa už nepoužívajú a sú k tomu vhodnejšie alternatívy)

PPS: Nepozeral som, čo ti to vlastne robí, takže lepšie riešenie ti neporadím (a aj keby som sa na to pozrel, aj tak by som pravdepodobne nezistil, čo presne tam chceš dosiahnuť).


 [ Príspevkov: 4 ] 


Podmienka nejde



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Nejde, zas ta podmienka iE

v Frontend

5

596

02.12.2008 19:05

janus

V tomto fóre nie sú ďalšie neprečítané témy.

podmienka

v Backend

1

544

22.11.2010 23:27

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Podmienka

v Backend

2

480

22.02.2017 14:31

GamerSK

V tomto fóre nie sú ďalšie neprečítané témy.

podmienka if

v Backend

2

603

19.12.2009 18:21

M1rcO_o

V tomto fóre nie sú ďalšie neprečítané témy.

podmienka čas

v Frontend

2

409

02.03.2013 14:03

p4tooo

V tomto fóre nie sú ďalšie neprečítané témy.

javascript podmienka

v Frontend

6

1013

01.03.2008 18:35

emer

V tomto fóre nie sú ďalšie neprečítané témy.

php funkcia - podmienka

v Backend

3

444

04.06.2014 22:55

BX

V tomto fóre nie sú ďalšie neprečítané témy.

Podmienka v SQL

v Databázy

4

1196

27.06.2011 6:54

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

Facebook like - podmienka

v Ostatné

0

618

18.12.2018 16:53

iggi9797

V tomto fóre nie sú ďalšie neprečítané témy.

preg_match vs podmienka

v Backend

1

723

16.02.2010 19:59

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

podmienka na include

v Backend

2

505

16.01.2010 18:40

M1rcO_o

V tomto fóre nie sú ďalšie neprečítané témy.

nefunkcna podmienka else

v Backend

2

543

02.08.2010 21:32

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

PHP podmienka checkbox

v Backend

8

1359

19.11.2010 1:28

venom2

V tomto fóre nie sú ďalšie neprečítané témy.

podmienka a SQL

v Backend

3

595

11.05.2010 9:55

DeiForm

V tomto fóre nie sú ďalšie neprečítané témy.

dva problemy, zalomenie a podmienka

v Backend

12

632

31.12.2008 19:54

B.A.X.O

V tomto fóre nie sú ďalšie neprečítané témy.

podmienka a velkosť suboru help

v Backend

25

1360

24.08.2009 12:08

Snacker



© 2005 - 2026 PCforum, edited by JanoF