Autor Zpráva
toot
Profil *
Ahoj Všem.
Mám takový možna primitívní dotaz. Proč menu v Mozille funguje bez problému a v IE to jako by problikává když se klikne na "obnovit", nebo na "zpět na hlavni stránku". Tady je kód css i html:
CSS:

.menu
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}
#menu {
top: 0;
left: 0;
}
dl#menu {
width: 130px;/*Sirka tlacitka*/
}
dl#menu dt {
cursor: pointer;
margin: 2px 0;;
height: 20px;
line-height: 20px;
text-align: center;
font-weight: bold;
border: 1px solid gray;
background: #ccc;
}
dl#menu dd {
border: 1px solid gray;
}
dl#menu li {
text-align: center;
background: #fff;
}
dl#menu li a, dl#menu dt a {
color: #000;
text-decoration: none;
display: block;
border: 0 none;
height: 20px;
}

dl#menu li a:hover, dl#menu dt a:hover {
background: #eee;
}

#mentions {
font-family: verdana, arial, sans-serif;
position: absolute;
bottom : 200px;
left : 10px;
color: #000;
background-color: #ddd;
}
#mentions a {
text-decoration: none;
color: #222;
}
#mentions a:hover {
text-decoration: underline;
}

HTML:
<script type="text/javascript">
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
</script>
<dl id="menu">

<dt onclick="javascript:montre();"><a href="#">Menu 1</a></dt>

<dt onclick="javascript:montre('smenu2');">Menu 2</dt>
<dd id="smenu2">
<ul>
<li><a href="#">Sous-Menu 2.1</a></li>
<li><a href="#">Sous-Menu 2.2</a></li>

<li><a href="#">Sous-Menu 2.3</a></li>
</ul>
</dd>

<dt onclick="javascript:montre('smenu3');">Menu 3</dt>
<dd id="smenu3">
<ul>
<li><a href="#">Sous-Menu 3.1</a></li>
<li><a href="#">Sous-Menu 3.1</a></li>

<li><a href="#">Sous-Menu 3.1</a></li>
<li><a href="#">Sous-Menu 3.1</a></li>
<li><a href="#">Sous-Menu 3.1</a></li>
<li><a href="#">Sous-Menu 3.1</a></li>
</ul>
</dd>

<dt onclick="javascript:montre('smenu4');">Menu 4</dt>
<dd id="smenu4">
<ul>
<li><a href="#">Sous-Menu 4.1</a></li>
<li><a href="#">Sous-Menu 4.1</a></li>
</ul>
</dd>


</dl>

Tohle menu není moje to jsem jsi stáhl, a minimalně upravil.
A ještě jeden dotaz je zapotřebí hover.htc? v IE mi to funguje normálně. Díky.
peta
Profil *
1. "je zapotřebí hover.htc? v IE mi to funguje normálně"
onclick="javascript:montre('smenu3');"
Tak, kdyz tam pouzivas javascript takto, na co ti bude javascript v HTC? Otazka je, ajky JS kod mas v tom HTC. Na zobrazovani reklamy? HTC je normalni javascriptovy soubor jako kazdy jiny s tou vyjimkou, ze HTC zna pouze IE a lze jeje pouzit do CSS. Ve FF se jmenuje tuusim FBX.

2. "problikává když se klikne na "obnovit""
Problikavani ma za nasledek tato cast JS:
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
ktera zpusobi, ze zalozky 1-10 se maji nastavit na CSS display:none
Problem je v tom, ze se nejdrive zobrazi a az pak se na ne nastavi none. Cili by bylo fajnt jim uz od zacatku v style.css nastavit display:none a tim padem tu cast kodu nepotrebujes. Nebo ji tam muzes nechat, nicemu neublizi.

Jestli tam je jeste nejake jine problikavani, tak ver, ze jsem to menu nezkousel, jsem linej vytvaret soubory.
peta
Profil *
peta
jinak mozna by se to dalo zjednodusit:
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}

na

var i,e;
for (i=1; i<=10; i++)
{
e = document.getElementById('smenu'+i);
if (e) {e.style.display='none';}
}
toot
Profil *
opruboval jsem to, zjednodušil, ale výsledek je pořád stejný. Tam bude nějaká kulišárna, ale mockrát Dík za za ochotu pomoct(dobrá rada nad zlato). Ono IE je IE s malym IQ. :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.