Autor Zpráva
Fanisss
Profil
Mam dotaz, chtel bych pouzit funkci document.getElementById() pro praci s objekty, ale problem je, ze se tato funkce vztahuje na jeden jediny. Pokud mam techto objektu na strance vice (vypisuji je z DB) a do predu nevim, kolik jich bude, netusim, jak to pouzit.

Ukazu na priklade... pouzivam skript, ktery jsem tady nasel, aby se mi po odkliknuti "info" zobrazilo male okno s nejakym textem. Jenze techto "info" tlacitek je na strance mnoho a nevim, jak udelat, aby to fungovalo.

<script type="text/javascript" language="JavaScript"><!--

function ap_getObj(name) {
if (document.getElementById)
return document.getElementById(name).style;
else
if (document.all)
return document.all[name].style;
else
if (document.layers)
return document.layers[name];
}

function SkryjTabulku(){
document.getElementById("tabulka1").style.visibility="hidden";
}

function ZobrazTabulku(){
document.getElementById("tabulka1").style.visibility="visible";
return false;
}

function priradfunkce(){

var x = ap_getObj("tabulka1");
document.getElementById("ukaz").onclick = ZobrazTabulku;
document.getElementById("kriz1").onclick = SkryjTabulku;
}
// -->
</script>

objektu, ktere maji ID "ukaz" je na strance vice, ale pokud jim vsem priradim stejne ID, funguje skript jen pro ten prvni.

Dekuji moc... v JS jsem uplny zacatecnik.
Joker
Profil
chtel bych pouzit funkci document.getElementById() pro praci s objekty, ale problem je, ze se tato funkce vztahuje na jeden jediny
Funkce getElementById slouží k výběru jednoho elementu. Na tohle by šlo třeba použít atribut class a napsat si funkci getElementsByClassName- na webu by se měly potulovat příklady.
Gappa
Profil
1) id na stránce má být jenom jednou
2) na tohle se má použít class, na jejich vybrání pak funkci getElementsByClassName, která není ovšem obsažena v současných (používaných) verzích JS, je tedy nutno se spolehnout na již hotové obsažené v nějakém frameworku, či samostatné funkce.
3) víc jsem to nezkoumal :)

EDIT: byl jsem předběhnut :)
Fanisss
Profil
No hlavne se nepoperte, jeste mam dotaz. Kdyz uz se mi to povedlo. Potreboval bych takto skryty/odkryty objekt zobrazovat v miste, kde je mys. TZN. kdyz se odkryje (napr po najeti na nejaky jiny objekt), aby se tabulka zobrazila tam, kde je aktualni pozice mysi.

document.getElementById("tabulka1").style.visibility="hidden";

tak jako existuje nastaveni viditelnosti, existuje i neco pro nastaveni absolutni pozice na souradnici, kde se nachazi mys? Dekuju...
serion
Profil
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
if(IE) {
add_win.top = event.clientY + document.body.scrollTop + 'px';
add_win.left = event.clientX + document.body.scrollLeft + 'px';
}
else {
add_win.top = e.pageY + 'px';
add_win.left = e.pageX + 'px';
}


Z môjho staršieho zdrojáku, kód pre zistenie pozície myši som splašil niekde na nete... chce to len používať Google :P

Btw. myslím že tento kód je už out-of-date, takže prehliadač sa bude sťažovať na použitie zastaralých metód, chcelo by to nájsť niečo novšie...
peta
Profil
Fanisss
google.com javascript mouse crossbrowser
Urcite si najdi nejnovejsi verzi radeji googlem, uz ve zminenem prikladu vidim par chyb, kvuli kterym ti to nebude fungovat v nekolika rezimech ci prohlizecich.

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