Autor Zpráva
Simonka
Profil
Ahoj, mám drobný problém. Potřebuji do webových stránek zařadit galerii. Na internetu jsem si našla script uvedený níže. Mohl by mi ho prosím někdo ve stručnosti vysvětlit, abych si to mohla sama u profesora obhájit? JavaScriptu moc nerozumím, ale musím to tam mít. Děkuji moc.

Zde script:
<Script language="javascript">
function switch1(div) {
if (document.getElementById('one')) {
var option=['one','two','three'];
for(var i=0; i<option.length; i++)
{ obj=document.getElementById(option[i]);
obj.style.display=(option[i]==div)? "block" : "none"; }
}
}
//
function switchImg(i){
document.images["main"].src = i;
}
</Script>

A zde samotná galerie v body:

<table width="600" border="0" class="cen">
<tr>
<td colspan="6"><span class="style2 style1">
<h1>Gallery</h1><br>
</span><span class="style1 style2 style4">Here you can see pictures</span></td>
</tr>
<tr>
<td colspan="6"><img src="images/1.jpg" height="525" width="700" id="main"></td>
</tr>
<tr>
<td colspan="6" class="lt"><span class="lt, style5"><span class="rt"><span class="rt, style5">
</span></span><br>
Pro zvětšení klikněte.<br>
</span></td>
</tr>
<tr>
<td width="100" height="80"><a href="#n" onClick="switchImg('images/1.jpg')" border="0"><img src="images/1.jpg" width="80" height="63" border="0"></a></td>
<td width="100" height="80"><a href="#n" onClick="switchImg('images/2.jpg')" border="0"><img src="images/2.jpg" width="80" height="63" border="0"></a></td>
<td width="100" height="80"><a href="#n" onClick="switchImg('images/3.jpg')" border="0"><img src="images/3.jpg" width="80" height="63" border="0"></a></td>
<td width="100" height="80"><a href="#n" onClick="switchImg('images/4.jpg')" border="0"><img src="images/4.jpg" width="80" height="63" border="0"></a></td>
<td width="100" height="80"><a href="#n" onClick="switchImg('images/5.jpg')" border="0"><img src="images/5.jpg" width="80" height="63" border="0"></a></td>
<td width="100" height="80"><a href="#n" onClick="switchImg('images/6.jpg')" border="0"><img src="images/6.jpg" width="80" height="63" border="0"></a></td>
</tr>
</table>
Darker
Profil
A nechce profesor, abys svému dílu rozuměla?
Navíc mám podezření, že je skript vytržený z kontextu - funkce switch1 nemůže nic dělat.
Keeehi
Profil
Toto je celé
<Script language="javascript"> 
function switchImg(i){ 
    document.images["main"].src = i; 
} 
</Script>

pseoudopřeklad
V dokumentu najdi obrázky, z nich vyber "main" a atributu src přiřaď obsah proměnné i. Proměnná i přijde jako parametr funkce switchImg.

Osobně bych to řešil trochu jinak. Toto řešení je totiž funkční i když javscript bude náhodou nefunkční:
<td width="100" height="80"><a href="images/1.jpg" onClick="switchImg(this.href); return false;" border="0"><img src="images/1.jpg" width="80" height="63" border="0"></a></td>
další pseudopřeklad
this.href - this říká, že jde o tento element (v tomto případě o ten odkaz) = vezmi z tohoto odkazu jeho cíl a jako parametr ho předej funkci switchImg

return false; - způsobí, že po kliknutí na odkaz se neprovede přejití na odkaz. Kdyby to tam nebylo, stránka by se rovnou přesměrovala na ten daný odkaz.

Ještě malá změna v javascriptu, i když bez ní by to mělo fungovat taky.
<Script language="javascript"> 
function switchImg(url){ 
    document.getElementById("main").src = url; 
} 
</Script>

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