Autor Zpráva
motik
Profil
ahojte,
napsal jsem si jednoduchou funkci pro změnu obrázku:
<script type="text/javascript">
function changeText(prom){
  var x = prom;
	 document.getElementById('ukazka').innerHTML = '<img src="' + x + '">';
	return false;	
}
</script>

<p>obrázek<br> <b id='ukazka'><img src="1.png"></b> </p> 

<a href="2.png" onclick='return changeText("2.png");'>222</a> <br>
<a href="3.png" onclick='return changeText("3.png");'>333</a>

Sice mi funguje, ale chtěl bych jí trošku předělat a nevím si rady. Chtěl bych, aby odkaz vypadal:
<a href="1.png" rel="mojefce">obrázek 1</a>
a docílit stejného výsledku - aby se po kliknutí na odkaz obrázek měnil a při vypnutém js se zobrazí pouze obrázek.
Našel jsem něco a zkusil si to upravit, ale nejde mi to a potřeboval bych poradit, kde dělám chybu:
<script type="text/javascript">
if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "mojefce")){
            anchor.onclick = function () { changeText("1.png"); return false;}            
            }
</script>
(chtěl bych docílit toho, aby se do funkce change text vložil parametr z href - zatím jsem to zkusil napsat přímo ten parametr, ale stejnak se mi to nepovedlo). Nakopnete mě správným směrem?
Chamurappi
Profil
Reaguji na motika:
Atribut rel slouží k popisu vztahu odkazující stránky k odkazované, cpát do něj cokoliv jiného je čuňárna.

kde dělám chybu
Co je v proměnné anchor? Neměl bys do ní nejprve něco dávat? Třeba projet cyklem všechny odkazy z document.links?
motik
Profil
Chamurappi:
no já jsem to viděl u lightbox - akorát z toho nejsu nějakej moc chytrej (a js bohužel moc nehovím). Já si ani neuvědomil, že anchor je proměnná :-( - je to opsanej kus kódu z diskuse.

Jako mě by teoreticky stačilo to, co jsem nějak tak sesmolil, ale jde o to, že by se mi mohl hodit ještě celkový počet odkazů s atributem rel. Sice ty odkazy vypisuju pomocí scriptu, takže mě to nějak moc nebolí, ale přecejenom se mi ten rel líbí víc.

zkoušel jsem to narvat do proměnné, ale cpe se mit to tam s celou adresou:
var links = document.links;
for(var i = 0; i < links.length; i++) {
  var linkHref = links[i].href;
  document.write(linkHref);
}

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