Markus: Seite einblenden

Hallo!

Ich möchte auf meiner Homepage erreichen, dass der Inhalt der einzelnen Seiten nach und nach
eingeblendet wird. Es funktioniert auch sehr gut, bis auf die Tatsache, dass bei Seiten, deren Inhalt über
den Anzeigebereich hinausgeht keine Scrollbars angezeigt werden und man so den Rest der Seite nicht
sehen kann(NS). Hier das Script:

<head>
<link rel=stylesheet type="text/css" href="format.css">

<style>
<!--
#Absatz  { position: absolute; left: 0; top: 0; width: 750; clip: rect(0 0 0 0);
    background-color:#FFECC4; border-width: thin; border-style: none;
    visibility: visible; }
//-->
</style>

<script language="JavaScript">
<!--
var ie = document.all ? 1 : 0;
var ns = document.layers ? 1 : 0;
var geschwindigkeit = 10;
var x = 0;
var y = 0;
function Blenden()
{
  if (x == 750)
    return;
  x += 5;
  y += 10;
  if (ie)
    document.all.Absatz.style.clip = "rect(0 " + x + " " + y + " 0)";
  else if (ns)
  {
    document.Absatz.clip.height = x;
    document.Absatz.clip.width = y;
  }
  window.setTimeout ('Blenden()', geschwindigkeit);
}
//-->
</script>
</head>
<body bgColor="#FFECC4" onLoad="if (document.all document.layers) window.setTimeout('Blenden()', 300);">
<div id="Absatz">
....
</div>
</body>

Wer kann mir weiterhelfen?Danke im voraus!

Markus

  1. Hallo Markus!

    bei Seiten, deren Inhalt über den Anzeigebereich hinausgeht keine Scrollbars angezeigt werden und man so den Rest der Seite nicht
    sehen kann(NS).

    Setze mal nach dem abschliessenden DIV-Tag ein   (nonbreaking space), dann sollten die Scrollbalken angezeigt werden.

    Gruss
    Mirko

    1. Hi Mirko!

      Setze mal nach dem abschliessenden DIV-Tag ein   (nonbreaking space), dann sollten die Scrollbalken angezeigt werden.

      Habs probiert, bringt aber keine Änderung. Trotzdem danke.

      Markus

      1. Hallo Markus!

        Ich dachte, dass ich ein Problem das ich mal hatte einfach so auf Deines übertragen kann. Hat nicht geklappt, sorry.

        Hab' Dein Script nochmal getestet.
        Lass' die Clip-Angabe in der CSS-Definition von Absatz mal weg. Der NS berechnet nämlich den Platz, den er für den Layer mit den Clip-Werten (0,0,0,0) benötigt und der ist nunmal 0. Folglich werden auch keine Scrollbalken dargestellt.

        Gruss
        Mirko

        1. Hallo Mirko!

          Lass' die Clip-Angabe in der CSS-Definition von Absatz mal weg. Der NS berechnet nämlich den Platz, den er für den Layer mit den Clip-Werten (0,0,0,0) benötigt und der ist nunmal 0. Folglich werden auch keine Scrollbalken dargestellt.

          Jetzt kann ich die Seite zwar scrollen, aber der Text, der ausserhalb des Anzeigebereiches war ist nicht
          zu sehen.
          However, ich habe inzwischen ein anderes Script genommen und es ein wenig geändert. Es ist ein
          Script, das einen Vorhang, der aus 4 waagerechten Teilen besteht, generiert. Funktioniert jetzt:

          <html>
          <head>
          <script language="JavaScript">
          <!--
          //gismoFX
          //http://www.gismo.at
          var brzina=20
          var trenutni=new Array()
          var trenutni2=new Array()
          if (document.layers){
          for (i=1;i<=4;i++){
          trenutni[i]=eval("document.i"+i+".clip")
          trenutni2[i]=eval("document.i"+i)
          trenutni[i].width=window.innerWidth
          trenutni[i].height=window.innerHeight/4
          trenutni2[i].top=(i-1)*trenutni[i].height
          }
          }
          else if (document.all){
          var clipright=document.body.clientWidth,clipleft=0
          for (i=1;i<=4;i++){
          trenutni[i]=eval("document.all.i"+i+".style")
          trenutni[i].width=document.body.clientWidth
          trenutni[i].height=document.body.offsetHeight/4
          trenutni[i].top=(i-1)*parseInt(trenutni[i].height)
          }
          }
          function otvori(){
          window.scrollTo(0,0)
          if (document.layers){
          for (i=1;i<=4;i=i+2)
          trenutni[i].left+=brzina
          for (i=2;i<=4;i=i+2)
          trenutni[i].left+=brzina
          if (trenutni[2].left>window.innerWidth)
          clearInterval(zaustavi)
          }
          else if (document.all){
          clipright-=brzina
          for (i=1;i<=4;i=i+2){
          trenutni[i].clip="rect(0 "+clipright+" auto 0)"
          }
          clipleft+=brzina
          for (i=2;i<=4;i=i+2){
          trenutni[i].clip="rect(0 auto auto "+clipleft+")"
          }
          if (clipright<=0)
          clearInterval(zaustavi)
          }
          }
          function gismoFX(){
          zaustavi=setInterval("otvori()",13)
          }
          gismoFX()
          //-->
          </script>
          </head>

          <body bgColor="#FFECC4">
          <div id="i1" class="Absatz"></div>
          <div id="i2" class="Absatz"></div>
          <div id="i3" class="Absatz"></div>
          <div id="i4" class="Absatz"></div>
          <script language="JavaScript" type="text/javascript" src="javascripts/vorhang.js">
          </script>
            .....
          </body>
          </html>

          1. Hallo Mirko!

            However, ich habe inzwischen ein anderes Script genommen und es ein wenig geändert. Es ist ein
            Script, das einen Vorhang, der aus 4 waagerechten Teilen besteht, generiert. Funktioniert jetzt:

            Hab noch die Style-Angabe für 'Absatz' vergessen:
            <style>
            .Absatz  { position:absolute; left:0; top:0; layer-background-color:#FFECC4;
                background-color:#FFECC4; border:0.1px solid white }
            </style>

            Tschüss Markus

            1. Leider habe ich Deinen Code nicht so recht verstanden
              (Schmach und Schande über mich)
              Aber vielleicht kannst Du mir da weiterhelfen.

              Ich habe eine dynamische Seite (aus der Datenbank generiert)

              Doch im grunde sieht es so aus:

              Die Seite besteht aus eine äussere tabelle (mit höhe 90%)
              untehalb der Tabelle soll ein Layer sein.
              Wird die Tabelle zu groß (außerhalb der SIchtweite)
              dann verschindet der Layer bzw. man kann nur bis
              zum ende der tabelle scrollen

              Alex

  2. Hi Markus!

    Also das Problem hatte ich auch gehabt.
    bzw. habe ich immer noch.

    hier ein Link der Dir evtl. weiterhelfen soll

    http://www.teamone.de/selfhtml/sfarchiv/2000_1/t11244.htm

    Das Problem ist halt: Netscape berechnet die Seite wohl nicht
    zur laufzeit.

    Entweder Du resevierst einen großen bereich für Dein
    Scrollen. Oder Du musst es berechnen lassen wie es
    oben im dem Link erklärt wird.

    hoffe, es hat Dir etwas Gebracht

    Sag mir ob das funktioniert. Vielleciht kann ich
    weiterhelfen
    (aber momentan sitze an dem gleichen Problem :o). Jedoch viel komplizierter)

    Alex

    1. Hallo Alex!

      Sag mir ob das funktioniert.

      Hab's ehrlich gesagt nicht ausprobiert, denn ich habe das Problem inzwischen mit einem anderen Script
      gelöst. Trotzdem Danke!
      Vielleicht hilft dir meine Lösung ja weiter: siehe meine letzte Antwort an Mirko!

      Tschüss  Markus