Autor Zpráva
senior
Profil
Príjemný večer,

môžete mi prosím niekto vysvetliť, prečo tento JS počíta okraj od okraja obrazovky a nie od okraja DIV-u? Funguje to rovnako v IE i FF. Ďakujem za pomoc.

<script language="JavaScript">
<!--

var int;

function hidemenus(exc)
{
clearInterval(int);
int = null;
for (id=1; id<=7; id++){
if (id != exc) document.all("mnui"+id).style.visibility = "hidden";
}
}

function outobject()
{
int = setInterval("hidemenus(20)",1000);
// ison=0;
}

function onheader(hID)
{
hidemenus(hID);
document.all("mnui"+hID).style.visibility = "visible"
}

function onobject()
{
clearInterval(int);
int = null;
}
//-->
</script>

HTML:
<table border="0" cellspacing="0" cellpadding="0" class="menuline">
<tr style="text-align: center; line-height: 24px">
<td><span id="i1" onmouseover="onheader('1');" onmouseout="outobject();" class="menulineitem">|&nbsp;o nás&nbsp;|</span></td>
<td><span id="i2" onmouseover="onheader('2');" onmouseout="outobject();" class="menulineitem">&nbsp;XXXXX&nbsp;|</span></td>
<td><span id="i3" onmouseover="onheader('4');" onmouseout="outobject();" class="menulineitem">&nbsp;XXXXX&nbsp;|</span></td>
<td><span id="i4" onmouseover="onheader('5');" onmouseout="outobject();" class="menulineitem">&nbsp;XXXXX&nbsp;|</span></td>
<td><span id="i5" onmouseover="onheader('6');" onmouseout="outobject();" class="menulineitem">&nbsp;XXXXX&nbsp;|</span></td>
<td><span id="i6" onmouseover="onheader('3');" onmouseout="outobject();" class="menulineitem">&nbsp;kniha návštev&nbsp;|</span></td>
<td><span id="i7" onmouseover="onheader('7');" onmouseout="outobject();" class="menulineitem">&nbsp;XXXXX&nbsp;|</span></td></tr>
</table>

... toto tá časť, čo preteká ....

<table border="1" class="menubox" id="mnui1" style="left: 5px" onmouseover="onobject();" onmousemove="onobject();" onmouseout="outobject();">
<tr><td><a href="uvod.html" target="_self">&nbsp;úvodná stránka&nbsp;</a></td></tr>
</table>

....

....

<table border="1" class="menubox" id="mnui7" style="left: 5px" onmouseover="onobject();" onmousemove="onobject();" onmouseout="outobject();">
<tr><td><a href="uvod.html" target="_self">&nbsp;XXXXX&nbsp;</a></td></tr>
</table>
habendorf
Profil
prečo tento JS počíta okraj od okraja obrazovky a nie od okraja DIV-u?

Tenhle JS nepočítá vůbec nic.
senior
Profil
habendorf
Sorry, tak tá tabulka

<table border="1" class="menubox" id="mnui1" style="left: 5px" onmouseover="onobject();" onmousemove="onobject();" onmouseout="outobject();">
<tr><td><a href="uvod.html" target="_self">&nbsp;úvodná stránka&nbsp;</a></td></tr>
</table>
peta
Profil
senior
Ja myslim, ze jsi habendorfa nepochopil. On ti pise, ze se tam nikde nic nepocita.
Ten script jedine, co dela, tak meni visibilitu nejakeho objektu.

1. Nahrej si laskave stranku na web a dej odkaz.
2. Popis presne, jaky je problem a kde a pri cem se projevuje.

Jestli to chapu spravne ja, tak je mozne, ze se ti rozbalovaci menu zobrazuje jinde nez by melo. Ted je otazka, cim je to spusobeno? Pravdepodobne spatnym CSS. Coz by se na strance dalo dohledat, takto si ho musime vyzadat.
Vede mne k tomu toto: style="left: 5px"
Left je soucast CSS position+left/rigth a protoze tam nemas definovane position:relative (souradny system na prvku, od ktereho to ma pocitat), tak pochopitelne nejblizsi takovy je HTML, cili okraj okna.
Take se muzu myslit a jedna se o jiny problem.

Popis by mohl vypadat treba nasledovne
(nejlepe si v CSS obarvi podklad kazdeho vyznamneho prvku)
Problem je v tom, ze kdyz najedu mysi do modreho menu, tak se rozbali cervene menu ne v zelene tabulce ale kdesi nahore na strance.
senior
Profil
peta
Vďaka za pomoc. Mal si úplne pravdu. Nemal som v CSS div-u menu zadefinované position:relative. Po doplnení to funguje OK a už to neuteká na okraj okna. Ešte raz vďaka za pomoc.
Toto téma je uzamčeno. Odpověď nelze zaslat.