Philip: Flexibele Ausrichtung

Hallo!

Ich habe folgendes Problem:

Ich habe ein Drop Down Menü programmiert, das mit Hilfe von Javascript mehrere iframes verschwinden und erscheinen lässt. Zum aufrufen dieses Javascripts nutze ich einen einfach Gif-Button. Wie kann man es schaffen, dass sich die Gif-Buttons flexibel so anordnen, das sie, wenn ein Untermenü geöffnet ist, sich unter den iframe des Untermenüs setzen?

Hier mal der Sourcecode:
<!doctype html public "-//w3c//dtd html 4.01 //en">
<html>
 <head>
  <title></title>
  <meta name="description" content="">
  <meta name="author" content="">
  <meta name="keywords" content="">
  <meta name="generator" content="BAT HTML Editor 3.0">
<SCRIPT LANGUAGE="JavaScript">

if (top.frameset_geladen + "" != "okay"){
if(document.images)
  top.location.replace(Dateien);
else
  top.location.href = Dateien ;
}
</script>
<SCRIPT LANGUAGE="JavaScript">
    var visibleVar="null";
    function init(){
        if (navigator.appName == "Netscape") {
                layerStyleRef="layer.";
                layerRef="document.layers";
                styleSwitch="";
                visibleVar="show";
        }else{
                layerStyleRef="layer.style.";
                layerRef="document.all";
                styleSwitch=".style";
                visibleVar="visible";
        }
    }

function showHideLayerSwitch(layerName){
        if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility == visibleVar')){
            hideLayer(layerName);
        }else{
            showLayer(layerName);
        }
    }
    function showLayer(layerName){
        eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"');
    }

function hideLayer(layerName){
        eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');
    }

</SCRIPT>

<STYLE TYPE="text/css">
#pulldownMenu {visibility: hidden}
#pulldownMenu2 {visibility: hidden}
</STYLE>
</head>
<center>
 <body background="menu.gif" onload="init()">
<!--pulldown menu button-->
    <div id="pulldownButton" >
        <a href="javascript:showHideLayerSwitch('pulldownMenu');">
        <IMG SRC="zimmer1.gif" BORDER=0></a>
    </div>

<!--pulldown menu-->
    <div id="pulldownMenu">
<iframe src=menuzimmer.html frameborder=0 height=210 width=155 marginheight=0 marginwidth=0 scrolling=no>
</iframe>
</div>

<!--pulldown menu button-->
    <div id="pulldownButton2" >
        <a href="javascript:showHideLayerSwitch('pulldownMenu2');">
        <IMG SRC="Sicherheit1.gif" BORDER=0></a>
    </div>

<!--pulldown menu-->
    <div id="pulldownMenu2">
<iframe src=menusicherheit.html frameborder=0 height=120 width=155 marginheight=0 marginwidth=0 scrolling=no>
</iframe>
</div>
 </body>
</html>

Mit freundliche Grüßen

Philip

  1. hallo Philip,

    Ich habe ein Drop Down Menü programmiert

    Ich fürchte, das ist eine Falschaussage. Du hast ein sehr altes Script irgendwo gefunden und hast es "angepaßt".

    Zum aufrufen dieses Javascripts nutze ich einen einfach Gif-Button. Wie kann man es schaffen, dass sich die Gif-Buttons flexibel so anordnen, das sie, wenn ein Untermenü geöffnet ist, sich unter den iframe des Untermenüs setzen?

    Steck deinen button einfach unter den iFrame in dasselbe DIV.

    <SCRIPT LANGUAGE="JavaScript">

    Da fehlt "type"

    if (navigator.appName == "Netscape") {
                    layerStyleRef="layer.";
                    layerRef="document.layers";
            }else{
                    layerStyleRef="layer.style.";
                    layerRef="document.all";

    Das ist das, was dein Script als "alt" und ungeeignet auszeichnet. So etwas wurde eingesetzt, als die Browser der 4er-Generation aktuell waren. Heutige "Netscapes" können document.layers auch nicht mehr. Und darüberhinaus macht es keinen Sinn, zur Differenzierung nach document.appName zu fragen. Du solltest nach dem differenzieren, was ein Browser kann, am häufigsten wird dazu document.getElementById() eingesetzt.

    function showHideLayerSwitch(layerName){
            if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility == visibleVar'))

    eval() ist nicht die glücklichste Wahl.

    </head>
    <center>
    <body background="menu.gif" onload="init()">

    Was soll dieses ominöse <center> da im Niemandsland?

    Grüße aus Berlin

    Christoph S.

    1. Auf ein paar Sachen möchte ich antworten:

      1. Don't Panic-diese Seite wird nie im Web erscheinen und ist eigentlich für Windows CE programmiert und das hat noch den 4er IE

      2. Es stimmt es ist ein modifizierte script, allerdings aus einem Buch

      3. Das <center> dient der Ausrichtung, es geht nicht anders, jedenfalls zeigte align=center keine Auswirkung

    2. So hab den Vorschlag grade getestet.
      Es geht so nicht, denn der Sicherheits button muss ja weiter da bleiben, wenn der Iframe des Zimmerbuttons verschwindet...