Autor Zpráva
Fox5795
Profil *
Dobrý den
Mám problém s javascriptem. Cílem bylo udělat obrázky,které se budou postupně měnit a pod nimi bude formulář s přepínači, který se bude měnit na checked podle obrázku, který zrovna naběhne... Dokázal jsem aby se mi obrázky měnily ale nejde mi to propojit s tím formulářem.
zde kód:
<script> 
obr = 0;
cas = 5000;
function animace(){
obrazky=["img1.jpg","img2.jpg","img3.jpg","img4.jpg","img5.jpg"]
if (obr+1==obrazky.length)obr=1;
else obr++;



obrazek.src = obrazky[obr];
window.setTimeout('animace()',cas);}


function zasrkrtnuti()
{document.getElementById("kolecko").src=obrazky[obr];
            if (obr==0) {
                document.getElementById('kolco1').checked="checked";
                document.getElementById('kolco5').checked="unchecked"} 
                    else {
                        if (obr==1) { 
                        document.getElementById('kolco2').checked="checked"; 
                        document.getElementById('kolco1').checked="unhecked"}
                             else {
                                 if (obr==2) {
                                 document.getElementById('kolco3').checked="checked";
                                document.getElementById('kolco2').checked="unchecked"}
                                     else { 
                                        if (obr==3) {
                                        document.getElementById('kolco4').checked="checked";
                                        document.getElementById('kolco3').checked="unchecked"}
                                            else {
                                                if (obr==4) {
                                                document.getElementById('kolco5').checked="checked";    
                                                document.getElementById('kolco4').checked="unchecked"}}}}}
            obr++;
            if (obr == 5){obr = 0;} }    
    
</script>   

a tady v html:
<form>
        <table class="kolco">
        <strong id="prepinani">Přepínání</strong>:
            <tr>
                <td id="kolco1"> <a onmouseclick="getElementById('kolecko').src='img1.jpg'"><input type="radio"; name="kol"></a><td>
                <td id="kolco2"> <a onmouseclick="getElementById('kolecko').src='img2.jpg'"><input type="radio"; name="kol"></a><td>
                <td id="kolco3"> <a onmouseclick="getElementById('kolecko').src='img3.jpg'"><input type="radio"; name="kol"></a><td>
                <td id="kolco4"> <a onmouseclick="getElementById('kolecko').src='img4.jpg'"><input type="radio"; name="kol"></a><td>
                <td id="kolco5"> <a onmouseclick="getElementById('kolecko').src='img5.jpg'"><input type="radio"; name="kol"></a><td><br>
            </tr>
 
       </table>
    </form>
Chamurappi
Profil
Reaguji na Foxe5795:
Hodnota vlastnosti checked je typu boolean, tedy true nebo false. Přiřadíš-li "checked", převede se na true, protože je to neprázdný řetězec. Přiřadíš-li "unchecked", převede se také na true, ze stejného důvodu.
Fox5795
Profil *
Děkuju tohle byla asi zásadní chyba, ale změnil jsem to na "checked" na "true" a "unchecked" na "false" a stále to nefunguje, jak by mělo.
Chamurappi
Profil
Reaguji na Foxe5795:
Hodnoty true a false už nepiš do uvozovek. Pokud je v uvozovkách nemáš a stejně to nefunguje, prosím o odkaz na živou ukázku.
Fox5795
Profil *
https://akela.mendelu.cz/~xvensky/vyjebany%20IE/Projekt.html
Zatím je to ve fázi vývoje, ale snad tam půjde vidět, o co jde... Ty obrázky se mění, ale přepínač nereaguje.
Chamurappi
Profil
Reaguji na Foxe5795:
Elementy kolco1kolco5 nemají vlastnost checked, protože jsou to buňky tabulky. Ídéčka dej na <input>, ne na <td>.
Krom toho ti ten skript nefunguje v Mozille, protože v obrazek není automaticky <img name="obrazek">.
_es
Profil
Fox5795:
Skontroluj si HTML kód, máš tam veľa nezmyslov.
Viď aj Časté potíže, zajímavosti a poučné debaty » Používejte var.
Fox5795
Profil *
ok... Tak jsem ty ID vlozil do inputu a ted mi to dreamweaver oznacuje jako chybu. A obrazek jsem definovaný měl. Ale změnil jsem to teda na img, ať je to přehlednější a v mozille mi to měnění fungovalo i předtím a funguje i teď jen formulář stále nereaguje.
btw jsem začátečník a víc by mi pomohlo kdybys napsal, co tam mám blbě než to, že si to mám ještě zkontrolovat, ale stejně dík.
Teď to vypadá takhle https://akela.mendelu.cz/~xvensky/IE/Projekt.html
_es
Profil
Fox5795:
kdybys napsal, co tam mám blbě
Z bežného pohľadu do kódu tam je tých chýb veľa. Skús si pozrieť HTML kód v nejakom editore so zvýrazňovaním syntaxe HTML, možno postačí aj trebárs Firefox, ktorý problematické časti kódu zvýrazní červeno. Alebo daj stránku prejsť validátorom.
Fox5795
Profil *
Njn... Ale vsechno to, co mám červené mi funguje a kód, který by měl dělat to, co nefunguje se zdá v pořádku.
_es
Profil
Fox5795:
vsechno to, co mám červené mi funguje
A funguje ti to „všetko“ a aj rovnako vo všetkých prehliadačoch?
Ako si predstavuješ, že by mal v prehliadačoch fungovať trebárs kód:
<table class="kolco">
        <strong id="prepinani">Přepínání</strong>:
Fox5795
Profil *
No nwm jk to funguje v ostatních prohlížecích, zkouším to jen v mozille. A tenhle kód měl zvýraznint ten nadpis a změnit barvu... Když na to, tak koukám, tak to mám fakt blbě zapsany a zbytečně složitě... Ale to projedu validátorem a on mi pomuze s tím, co a jk mám dělat. Jen pořád nevím co s tím hlavním problémem, o kterém validátor mlčí.
Fox5795
Profil *
Ještě jednou tedy žádám o pomoc s výše zmíněným problémem. Základní chyby jsem opravil a nyní je to mnohem přehlednější. Vše jsem udělal podle vašich rad a stále to nefunguje... Zde současný stav: https://akela.mendelu.cz/~xvensky/IE/Home.html
Předem děkuji
_es
Profil
Fox5795:
Neaplikoval si všetky rady, týkajúce sa JS kódu.
Fox5795
Profil *
Jsem na web omylem nahral špatný soubor... Ale jestli máš na mysli zavádění proměnných pomocí var, tak to jsem udělal, ale nic se nezměnilo
_es
Profil
Fox5795:
Myslel som poslednú radu v [#6], no aj vo Firefoxe kupodivu výraz img funguje.
Skús nad tým aj trochu popremýšľať. Máš tam funkciu zasrkrtnuti, no nikde ju nevoláš. Ako si predstavuješ, že by to malo „fungovať“?
Fox5795
Profil *
Omlouvám se, ale fakt vůbec netuším, kde bych ji měl zavolat... Jsem myslel, že stačí když volám její části... Připadám si, jak retard, už jsem to zkusil všemi možnými způsoby, sedím nad tím celý den a stále to nefunguje. Kdyby měl nějaký brain, co tomu fakt rozumí čas a projel si to, byl by mu opravdu velmi vděčný.
https://akela.mendelu.cz/~xvensky/IE/Home.html
_es
Profil
Fox5795:
fakt vůbec netuším, kde bych ji měl zavolat...
No predsa tam, kde si myslíš, že by mala byť spustená, neviem ako inak na to odpovedať.

sem myslel, že stačí když volám její části...
To ako myslíš, „volať časti funkcie“? Naozaj neviem, čo si pod tým predstaviť. Viď aj Funkce.
Fox5795
Profil *
Jsem ji zkoušel dávat do body přes onload a nejede
_es
Profil
Fox5795:
A aký má taký pokus zmysel? Asi ju chceš spustiť pri každej zmene obrázka, či nie?
Fox5795
Profil *
JJ takhle sem to chtěl. Zkusím si to ještě jednou projet a přečíst si toho více o javascriptu a když to nevyjde, tak tam nechám jen prolínání obrázku. I tak děkuji za rady.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0