Jan: Variabele Framebreite Bitte um Hilfe

Hallo,
ich möchte meine Frameeinteilung je nach Bildschirmgrösse ändern.
Also mit 800 die kleine Version, die aber eigentlich gedrungen aussieht,
und mit 1024 und mehr ein bischen mehr Platz zwischen Menu und Hauptframe.

Ich habe das mit document.writeln versucht, das klappt aber nicht.
Da habe ich nur  document.writeln('');  auf dem screen, statt meiner Frames
Wäre schön, wenn mir jemand helfen könnte :o(

<script language="JavaScript">
<!--
if(screen.availWidth >= "800") {
menu_breite = 140;
}
if(screen.availWidth >= "960") {
menu_breite = 174;
}
//-->
</script>

document.writeln('<FRAMESET cols="' + menu_breite + ',*" border="0" frameborder="0" framespacing="0">');

Danke und Viele Grüsse, Jan

  1. Hi, Jan

    ich möchte meine Frameeinteilung je nach Bildschirmgrösse ändern.

    Bitte nicht, frage besser die Fenstergröße ab. Die Auflösung hat absolut nichts mit der Größe des Fensters zu tun.

    http://selfhtml.teamone.de/javascript/objekte/screen.htm#avail_width = falsch
    http://selfhtml.teamone.de/javascript/objekte/window.htm#inner_width = richtig

    <script language="JavaScript">

    ...

    document.writeln('<FRAMESET cols="' + menu_breite + ',*" border="0" frameborder="0" framespacing="0">');

    //-->
    </script>

    Es sollte helfen, die Ausgabe auch im Scriptbereich anzusiedeln ;-)

    LG Orlando

    1. Hi Orlando,

      *Juppie* das funktioniert ja :o)

      Bei inner.width steht JS 1.2 und  NS only :o(
      Geht das auch mit IE?
      Wenn ja, wird das neu gelesen, wenn sich die Fenstergrösse ändert,
      oder muss ich da irgendwas Wildes mit onresize=??? basteln?

      Vielen Dank und Viele Grüsse, Jan

      1. Hi, Jan

        *Juppie* das funktioniert ja :o)
        Bei inner.width steht JS 1.2 und  NS only :o(
        Geht das auch mit IE?

        Ups, das hatte ich ja gar nicht gesehen. Vielleicht hilft dir folgende Seite weiter, die diverse Abfragen ermöglichen sollte: http://www.xs4all.nl/~ppk/js/winprop.html

        Wenn ja, wird das neu gelesen, wenn sich die Fenstergrösse ändert,
        oder muss ich da irgendwas Wildes mit onresize=??? basteln?

        Bei Änderungen des Fensters einer bereits geladenen Seite hilft nur 'onresize'.

        Vielleicht wäre es besser, diese Framebreite in Prozentwerten anzugeben, dann hast du nämlich automatisch das Ergebnis, das du willst und benötigst auch kein JS, das bei sehr vielen Leuten deaktiviert ist. Probier' das mal.

        LG Orlando

        1. Hi Orlando,

          hab noch den hier gefunden: document.body.clientWidth
          http://forum.de.selfhtml.org/archiv/2002/3/8289/#m45804
          Dann klappts auch mit dem Nachbarn ...

          Prozentangaben ist ne gute Idee,
          sieht bei mir aber Sch... aus mit > 1024,
          weil der Hauptframe schon Linksorientierung haben muss.
          (Wildes Scrolling-Untermenu)
          Es sei denn, Du kannst mir sagen, wie ich einen mitscrollenden Layer
          immer 200px links neben der Seitenmitte positioniert kriege.
          Daran hab ich mir schon die Hörner abgestossen :o(
          Das würde mir aber nochmal einen völlig anderen Seitenaufbau ermöglichen.

          Das Javascript ist in diesem Fall kein Problem,
          weil der Frame zum Auto-Framenachladescript gehören soll,
          was eben nur mit eingeschaltetem JS aktiviert wird.
          Ansonsten wird "natürlich" auch eine framelose Navigation möglich sein ;o)

          Vielen Dank nochmal und liebe Grüsse, Jan

          1. Hi, Jan

            Es sei denn, Du kannst mir sagen, wie ich einen mitscrollenden Layer
            immer 200px links neben der Seitenmitte positioniert kriege.
            Daran hab ich mir schon die Hörner abgestossen :o(

            Olé!

            <style type="text/css">
            <!--
            #eins {
             position:absolute;
             left:50%;                  /* mittig positionieren */
             margin-left:-200px;        /* 200px nach links verschieben */
             background:#eee;           /* zur Demonstration */
            }
            -->
            </style>

            <div id="eins">
             <p>ID eins</p>
            </div>

            Das würde mir aber nochmal einen völlig anderen Seitenaufbau ermöglichen.

            Gutes Gelingen ;-)

            LG Orlando