DIVs & Layer...
viz
- javascript
Servus zusammen,
hab en kleines Problem [see below...]:
testet ma das Script... wenn mir DANN einer sagen kann warum
der Shit im NN nur funzt wenn alle DIVs wieder 'static' positioniert sind
Danke im Voraus...
---
<table>
<tr>
<td><b>header oder so...</b></td>
</tr>
<tr>
<td>
<ilayer id="main" width="200" height="50">
<layer id="navi_layer" visibilty="show" bgcolor="#FFFFFF">
<div id="navi_div" style="position:absolute; visibility:visible;">
Navi:
<a href="javascript://" onClick="enlarge('01')">Item 1</a>
<a href="javascript://" onClick="enlarge('02')">Item 2</a>
</div>
</layer>
<layer id="layer01" visibility="hide" bgcolor="#FFFFFF">
<div id="div01" style="position:absolute; visibility:hidden; background-color:#00CC00;">
Item 1...
<a href="javascript://" onClick="kill('01')">close</a>
</div>
</layer>
<layer id="layer02" visibility="hide" bgcolor="#FFFFFF">
<div id="div02" style="position:absolute; visibility:hidden; background-color:#CC0000;">
Item 2...
<a href="javascript://" onClick="kill('02')">close</a>
</div>
</layer>
</ilayer>
</td>
</tr>
</table>
<script>
function enlarge(item) {
if(document.all) {
item = "div" + item;
document.all.navi_div.style.visibility = "hidden";
document.all[item].style.visibility = "visible";
}
if(document.layers) {
item = "layer" + item;
document.main.document.navi_layer.visibility = "hide";
document.main.document[item].visibility = "show";
}
}
function kill(item) {
if(document.all) {
item = "div" + item;
document.all[item].style.visibility = "hidden";
document.all.navi_div.style.visibility = "visible";
}
if(document.layers) {
item = "layer" + item;
document.main.document[item].visibility = "hide";
document.main.document.navi_layer.visibility = "show";
}
}
</script>
---
viz
Hi,
testet ma das Script... wenn mir DANN einer sagen kann warum
der Shit im NN nur funzt wenn alle DIVs wieder 'static' positioniert sind
kann ich schon vorher. Ein <div style="position:absolute;"> ist identisch zu einem <layer> und hat ergo ebenfalls ein (weiteres) document-Objekt.
- dann geb ich ein aus (... nee, spass - wäre zumindest sehr erleichtert).
He, da besteh ich jetzt aber drauf :-)
Cheatah, einer Übertragung per HTCPCP (RFC 2324, http://www.ietf.org/rfc/rfc2324.txt) gegenüber nicht abgeneigt
Hallo,
mir ist noch nicht klar was das alles soll, sieht sehr umständlich aus.
Und absolute div's unter NN4 in Tabellen sieht sowieso nicht gut aus.
Warum lässt Du nicht die Layer weg und nimmst einfach relative div in den
Tabellen ?
Mit separaten <style></style> Anweisungen und id's klappts dann.
Grüsse
Cyx23
mir ist noch nicht klar was das alles soll, sieht sehr umständlich aus.
nuja... war ja nur so auf die schnelle...
Und absolute div's unter NN4 in Tabellen sieht sowieso nicht gut aus.
sind aber nötig (gut, könnte auch en div nehmen als... is doch egal)weil absolute und left:x... bzw. top:x... lässt sich nich realisieren, da das Menu in einer zentrierten Tabelle steht!
Warum lässt Du nicht die Layer weg und nimmst einfach relative div in den
Tabellen ?
weil ich den Platz brauch und sie daher übereinander liegen müssen...
...doch leider kann ich mit der Alternative nicht viel anfangen!
trotzdem danke!
Hallo,
Und absolute div's unter NN4 in Tabellen sieht sowieso nicht gut aus.
sind aber nötig (gut, könnte auch en div nehmen als... is doch egal)weil absolute und left:x... bzw. top:x... lässt sich nich realisieren, da das Menu in einer zentrierten Tabelle steht!
das ist meist nicht egal, und das div mit der absoluten position hast
du ja jetzt drinnen zusätzlich zu den Layern:
<div id="div01" style="position:absolute; ...
das solltest du ausserhalb der tabelle definieren, das haut besonders
bei Netscape besser hin, wenn du wirklich position:absolute meinst.
( Oder du brauchst es doch in der Tabelle, dann ist es position:relative)
Und du kannst einfach das gleiche <div> für Netscape und IE nehmen
und es über die gleichen id's ansprechen und verstecken.
Grüsse
Cyx23
<div id="div01" style="position:absolute; ...
das solltest du ausserhalb der tabelle definieren, das haut besonders
bei Netscape besser hin, wenn du wirklich position:absolute meinst.
jo, aber die divs müssen 'absolute', versteckt in der zelle liegen, weil ich nicht mehr platz (fest-definierte zelle) hab! ich kann sie einfach nicht global, 'absolute' positionieren, da die tabelle ZENTRIERT im Fenster positioniert ist (frameset nicht möglich!).
doch sobald ich einen weiteren div als sog. maininterface über den ilayer anleg, funktioniert das mit der Objekthirarchy im NN nich mehr...
---
viz
Hallo nochmal,
jo, aber die divs müssen 'absolute', versteckt in der zelle liegen, weil ich nicht mehr platz (fest-definierte zelle) hab! ich kann sie einfach nicht global, 'absolute' positionieren, da die tabelle ZENTRIERT im Fenster positioniert ist (frameset nicht möglich!).
doch sobald ich einen weiteren div als sog. maininterface über den ilayer anleg, funktioniert das mit der Objekthirarchy im NN nich mehr...
also wenn du für Netscape 4 die divs ohne visibility:hidden;
hättest, sollte es schon gehen.
Ich hab hier mal einiges auskommentiert und dann passiert schon etwas,
sieht ähnlich aus wie bei IE.
Du brauchst ja die divs nicht voll wenn du Netscape4 die Layer ansprichst.
Da sowieso Javscript nötig ist kannst du die styleangaben evtl. per
<script>
if(!document.layers)document.write(<style>div{visbility:hidden}</style>);
</script>
machen.
Die Adressierung der Netscapelayer stimmt vmtl. bereits.
Grüsse
Cyx23
<script>
if(!document.layers)document.write(<style>div{visbility:hidden}</style>);
</script>
jo, du hast recht! so funzts!
danke nochmals...
---
viz