Div per Javascript verstecken in opera
Alex
- javascript
Hi,
ich habe folgenden html code mit javascript:
<a href="#" onClick="expandCollapse('div'); return false;">klick!</a>
<div id=div style="display:none;>
<table class="table-outer">
<tr class="outer-row">
<td class="outer-column">
<table class="table-inner">
<tr>
......
<td>.....</td>
......
</tr>
</table></td></tr></table>
</div>
function expandCollapse(div) {
with(document.getElementById(div).style){
if(display=="none"){
display="inline";
}
else{
display="none";
}
}
}
FF und IE machen das problemlos. Opera allerdings lässt beim verstecken der Div-Box hässliche "Schlieren" zurück.
Die wird man zwar per aus dem Bild und zurück scrollen los, allerdings muss das auch so zu machen sein das diese Schlieren nicht übrig bleiben. Hab ich jedenfalls schon so gesehen.
Kann mir jemand sagen, woran das liegt ?
Gruß,
Alex
Hallo,
FF und IE machen das problemlos. Opera allerdings lässt beim verstecken der Div-Box hässliche "Schlieren" zurück.
?Vielleicht ist Opera mit Krestel einfach zu schnell geworden?
Falls es nicht ein umfassendes Problem aufgrund irgendwelcher Grafik- oder
Rendermethoden ist, mag es vielleicht mit per CSS festgelegten Eigenschaften
zusammenhängen, die du u.U. auch schon per CSS ändern kannst.
Für einen älteren Konqueror hatte ich mal ein dhtml-Menu mit ähnlichen
Problemen, dort half es, per JavaScript zusätzlich die visibility aus und
einzuschalten.
Und bei Opera hatte ich auch schon mal Rutscheffekte beim Scrollen, 9.5
Beta scheint auch wieder etwas betroffen zu sein.
Bei etwas komplexerem Code mit verschachteltem CSS könnte die Hirarchie
oder Vererbung (u.U. durch einen Bug) uneinheitlich gewesen sein,
hilfreich ist da vielleicht eine Vereinfachung der Seite.
Grüsse
Cyx23
Hi,
Problemen, dort half es, per JavaScript zusätzlich die visibility aus und
einzuschalten.
Display:block anstelle von Display:inline beseitigt die Probleme auch.
Ich kann mir anhand der Beschreibung zwar nicht so recht vorstellen worin genau der Unterschied zwischen den beiden liegt, aber es funktioniert ja.
Gruß
Alex
Hallo Alex,
Display:block anstelle von Display:inline beseitigt die Probleme auch.
Ich kann mir anhand der Beschreibung zwar nicht so recht vorstellen worin genau der Unterschied zwischen den beiden liegt, aber es funktioniert ja.
Fein. Ich vermute mal so etwas: Die Beziehung zur umgehenden Elementen (ggf.
auch eine Tabellenzelle?) ist bei block vielleicht einfacher oder klarer
definiert. Oder der Browser "merkt" z.B. früher, dass das betr. Element auch
eine Breite und Höhe erhalten muß, und fügt es eher oder "aktiver" in die
Seite ein.
Grüsse
Cyx23