Maik: Kontrolliertes scrollen von Layern / Ebenen

Hallo und guten Morgen,

bei der Erstellung meiner Webseite habe ich folgendes Problem und hoffe auf Hilfe:

In einem Frame habe ich zwei Layer. Einen am oberen Rand, der zur Navigation dient und einen darunter,
in den HTML-Dateien geladen werden. Nun mein Problem. Sobald die HTML-Datei größer ist, als der Layer
in den sie geladen wird, setzen die Browser Scrollbars, toll !!! Sobald man scrollt ist aber auch der "Navi-
gationslayer" weggescrollt. Besteht die Möglichkeit dafür zu Sorgen, daß nur der Inhalt des Layer gescrollt
wird, in dem die HTML-Datei ist? Anders ausgedrückt, möchte ich nicht das ganze Frame scrollen, sondern
nur den entsprechenden Layer, während der "Navigationslayer" an seiner Position bleibt.

Hoffentlich habe ich mich verständlich ausgedrückt, so daß Ihr mir helfen könnt.

Bis später also und vielen Dank für Eure Hilfe,

Maik

  1. Hallo Maik,

    vorsichtige Frage: Warum unterteilst Du die betrefnfende Stele (seite) nicht noch einmal in zwei Frames. Für jeden Bereich (Layer) ein eignes Frame, durch das Ausschalten der Borders wird das Resultat genauso aussehen wie bisher. Wird im "nicht-Navi"-Frame der in dem Layer dazustelende Inhalt größer als der im Bildschirm des Besuchers vorhandene Platz, bekommt dieses Frame den Scrollbalken, und dein Navi-Bereich bleibt stehen. (Was ja der normale Verwendungszweck von Layern ist....)

    Noch ein Hinweis: Wenn das aus bestimmten Gründen Design-Schwierigkeiten macht, dann kann man vieleicht von diser Seite her das Problem besser angehen als dem Navi-Layer das wegscrollen abzugewöhnen ;-)))

    Chräcker

    http://www.chraecker.de/stempel

    1. Hallo Chräcker,

      die Idee ist nicht schlecht, allerdings macht das neue Probleme, weil
      aus den Navigationslayern noch andere Layer raussliden, als Menü-Punkte so zu sagen und das nicht über Framegrenzen hinweg möglich ist. Auch die Möglichkeit die Layer in dem anderen Frame raussliden zu lassen ist problematisch, weil die beim Scrollen auch wieder weg sind.

      Ich hoffe, daß die Problematik jetzt noch besser verständlich ist, und Du / Ihr mir trotzdem helfen könnt.

      Bis dann,

      Maik

      1. Hallo Maik,

        diese Links könnten Dir weiterhelfen:

        http://www.dansteinman.com/dynduo/
        und dabei vor allem
        http://www.dansteinman.com/dynduo/en/scrollconcepts.html

        viele Grüße  Günter

        1. Hallo Günter,

          danke für den Tip, ich dachte allerdings eher an einen Scrollbalken im eigentlichen Sinn und wollte ungern eine neue JS-Funktion implemetieren. Hast Du für diesen Fall auch noch eine URL oder ähnliches parat?

          Danke im voraus.

          Maik

          1. Hallo,

            ganz vorsichtiger ungefragter Rat von mir noch mal: "Scrollbalken im eigendlichem Sinne" sind die "vorgefertigten" des jeweiligen Betriebssystemes, die vom Browser im Fall der Fälle bemüht werden. Damit scrollt aber immer der ganze Inhalt der Seite. Also auch Deine Layer. Die genannte Seite ist genau die, deren Existens iich in meinem obigen Beitrag vermutet habe. Wenn Du auf die "echten" Scrollbalken bestehst, dann must Du Dein "rausslide-Design" ändern. Ansonsten must Du tricksen.

            Um die Ecke denken kann schöne Ergebnisse erzielen, bedeutet aber auch, daß man auch in der zu verwendeten Methode etwas um die Ecke denken muß...und soweit ich es verstanden habe, war der Link genau das was Du brauchst.....

            Chräcker

            <www.chraecker.de/stempel>

            1. Hallo Chräcker:

              ...und soweit ich es verstanden habe, war der Link genau das was Du brauchst.....

              seh ich zumindest mal so ;-))
              lasse mich aber gerne eines anderen belehren
              Günter

          2. Hallo Maik,
            versuch doch mal das ganze anders herum, Du setzt den Navigationslayer fest und der Inhalt kann
            ganz normal über den Scrollbalken des Browsers gescrollt werden. Ich glaube dieser
            Ansatz verlangt weniger scripting als erst das Scrollen abzuschalten, um es dann mittels JS
            nachzubauen.
            Beispiele für fest positionierte Logos / Navleisten gibt es u.a. bei http://www.dynamicdrive.com
            und bestimmt aus bei SelfHTML (sorry bin jetzt zu faul zum suchen).

            CU Tzadkiel

          3. Hallo erstmal,

            und vielen Dank für die zahlreichen Beiträge. Leider habe ich noch nicht gefunden was ich suche. Deshalb werde ich nochmal versuchen mich entsprechend auszudrücken.

            Ich bin nämlich der Meinung, daß man einem Layer, der unter einem anderem in ein und demselben Frame liegt, zuweisen kann, daß der eine Scrollbar bekommt, sobald der Inhalt des Layer größer ist als der Layer selbst. Das Resultat wäre also, daß nur dieser Layer eine Scrollbar bekommt und so auch nur der Inhalt dieses Layers gescrollt werden kann.

            Vielleicht habe ich jetzt geschafft, die letzten Klarheiten zu beseitigen. Ich bin für Eure Tips und Anregungen echt dankbar.

            Bis später,

            Maik

            1. Hallo Maik,

              doch, ich glaube schon, daß wir Dich verstanden haben. ;-))) vieleicht sogar besser als Du selbst? ;-))))))))

              Nein, im Ernst, einen Scrollbalken für einen Layer kann man wohl nur selbst basteln. Oder Du machst es so, wie Tzadkiel gesagt hat. Dadurch bekommst Du dann allerdings einen hüpfenden Navi-Layer, ich hab mir gerade Tzadkiels Adresse angesehen und darf sie "mitschwimmerisch" ergänzen um:

              http://www.dynamicdrive.com/dynamicindex1/sm/index.htm

              Jetzt hast Du aber wirklich alles was Du brauchst, der Rest sollte jetzt an Dir liegen ;-)

              Chräcker

              http://www.chraecker.de/stempel

              1. Hallo Chraecker,

                danke für die Link-Ergänzung.
                Ich glaube Maik verwechselt vielleicht Layer mit Pop-Up Fenstern, was den Punkt Scroll Leiste anbelangt.

                CU Tzadkiel

      2. Hallo,

        hm, ich befürchte, wenn, dann gehts nur kompliziert. Gehen wirs doch noch mal (für mein Hirn) durch:

        Gewünscht wäre, innerhalb einer Seite einen festen Kopfbereich (Layer) und einen Bereich dadrunter, der im Falle eines Falles einen Scrollbalken hat. Frames fallen erst einmal weg, also brauchst Du einen "Scrollbalken" im Layer. Diesen könnte man jetzt superkompliziert sicherlich selber basteln, da müste man die Höhe der einzuladenen Daten berücksichtigen, die Höhe des Besucherfensters berücksichtigen, Scrollpfeile einblenden und die Maus entsprechend überwachen und innerhalb des Layers (am besten mit clipping-Tricks) den Inhalt scrollen.....

        Bei "überschaubaren" Inhalten, sagen wir einmal, einfacher Text, ist das warscheinlich gar nicht so schwierig und könnte nett sein. Aber bei "normalen" Seiten wäre das vielleicht mit Kanonen auf Spatzen geschossen. (es würde mich aber nicht wundern, wenn es auf den einschlägigen Scriptsammlungegsseiten schon sowas gibt....die Leute geben sich immer so viel Mühe Framesvorteile ohne Frames zu bekommen ;-) )

        Theoretisch könnte man schon das raussliden ins zweite Frame verlagern. Man müste eben vor dem raussliden die Scrollposition der unteren Seite ermitteln und das auf die Slidestartposition draufzählen. Allerdings glaub ich "Laie" kaum, das Du aus einer HTML-Seite (der oberen Nav-Seite) die Layer einer zweiten HTML-Seite (der unteren Inhaltsseite) fernsteuern kannst. (das war jetzt eine Frage....) Außerdem: bei jedem scrollen mit rausgeslideten Bereich müste man die Position des rausgeslideten Bereiches anpassen. Das würde dann aber etwas sprunghaft aussehen.

        Chräcker

        http://www.chraecker.de/stempel

  2. Habe diese Nachricht eben schon mal gepostet, aber leider an einer sehr ungünstigen Stelle. Deshalb versuche ich es hier nochmal.

    Hallo erstmal,

    und vielen Dank für die zahlreichen Beiträge. Leider habe ich noch nicht gefunden was ich suche. Deshalb werde ich nochmal versuchen mich entsprechend auszudrücken.

    Ich bin nämlich der Meinung, daß man einem Layer, der unter einem anderem in ein und demselben Frame liegt, zuweisen kann, daß der eine Scrollbar bekommt, sobald der Inhalt des Layer größer ist als der Layer selbst. Das Resultat wäre also, daß nur dieser Layer eine Scrollbar bekommt und so auch nur der Inhalt dieses Layers gescrollt werden kann.

    Vielleicht habe ich jetzt geschafft, die letzten Klarheiten zu beseitigen. Ich bin für Eure Tips und Anregungen echt dankbar.

    Bis später,

    Maik