Autor | Zpráva | ||
---|---|---|---|
ich Profil * |
#1 · Zasláno: 1. 2. 2008, 12:53:11
Zdravim,
mám: var child; function getarea(picname, selarea, levelmnu) { ............ else if (selarea == 3) { child = eval(document.all[event.srcElement.getAttribute("id", false)]); var blb = "foto/" + picname + child + ".jpg"; alert(blb); document["pic_full"].src = "foto/" + picname + child + ".jpg"; } } .............. <table width="100%" border="0" class="collapsed" id="stock_area" onclick="getarea('bild','3')"> <tr> <td id="tabp1"> <p align="center"> <img width="96" height="100" name="fullp1" id="1"></p> </td> <td id="tabp2"> <p align="center"> <img width="96" height="100" name="fullp2" id="2"></p> </td> <td class="collapsed" id="tabp3"> <p align="center"> <img width="96" height="100" name="fullp3" id="3"></p> </td> ................... potřeboval bych, aby při události onclick="getarea('bild','3') se mi v tý funkci načetlo "id" buňky na které bylo kliknuto (nebo "id" <img>, je to jedno). Prostě nějak pojmenovat buňku v tabulce, aby po kliknutí na tu buňku se mi do proměné "child" načetlo číslo buňky na kterou bylo kliknuto. Díky moc |
||
Zbystr Profil * |
#2 · Zasláno: 2. 2. 2008, 13:35:28
nevim zda te chapu, ale moznosti je spousta
napriklad jedna: onclick='nazev_funkce(this)' function nazev_funkce(elm){alert(elm.id)} nebo to muzes resit pres event a target .... |
||
los Profil * |
#3 · Zasláno: 2. 2. 2008, 14:32:35
Ak chceš index bunky, tak napr. nejako takto (netestované):
onclick="getarea(event,this,'bild',3)" ...... var child; function getarea(e, table, picname, selarea, levelmnu) { ... else if (selarea == 3) { for (var el = e.target || e.srcElement; el; el = el.parentNode) if (el.nodeType == 1 && el.tagName == "TD" && el.parentNode.parentNode.parentNode == table) { for (var index = 0; el; el = el.previousSibling) if (el.nodeType == 1 && el.tagName == "TD") ++index; alert(document.images["pic_full"].src = "foto/" + picname + (child = index) + ".jpg"); break; } } } Ak chceš id bunky, tak namiesto toho cyklu iba prečítaš hodnotu z el.id (ale ak ti naozaj stačí iba index bunky, tak sú tam všetky tie id zbytočné). To HTML by sa dalo opraviť a dosť zjednodušiť... |
||
ich Profil * |
#4 · Zasláno: 4. 2. 2008, 15:39:45
to je přesně ono, díky moc
funguje to i takhle: onclick="getarea(event,this,'bild',3)" ...... var child; function getarea(e, table, picname, selarea, levelmnu) { else if (selarea == 3) { for (var el = e.target || e.srcElement; el; el = el.parentNode) { if (el.tagName == "TD") alert(el.id); } } } Ještě jestli bych mohl mít dotaz, co znamenaj, respektive kde najdu popis všech těch vlastností (event,this,.target,.srcElement, atd.) Dík |
||
Časová prodleva: 16 let
|
0