Markus: Seite wird geladen! Soll während des Ladevorgangs erscheinen

Hi!

Hab folgendes Problem!

Möcht eine Seite laden(ist eine Formular Ergebnisseite-dauert daher etwas länger)!

Während des Ladevorgangs sollte eine Info auf der Seite erscheinen daß die Seite geladen wird od so ähnlich!

Wie macht man sowas??

Danke
Ciao

Markus

  1. Moin

    Möcht eine Seite laden(ist eine Formular Ergebnisseite-dauert daher etwas länger)!
    Während des Ladevorgangs sollte eine Info auf der Seite erscheinen daß die Seite geladen wird od so ähnlich!

    Sag mal, kann es sein, dass du diese Frage vor ungefähr 5 Tagen schon mal gestellt hast?

    Viele Grüße

    Swen

    1. Moin

      Möcht eine Seite laden(ist eine Formular Ergebnisseite-dauert daher etwas länger)!
      Während des Ladevorgangs sollte eine Info auf der Seite erscheinen daß die Seite geladen wird od so ähnlich!

      Sag mal, kann es sein, dass du diese Frage vor ungefähr 5 Tagen schon mal gestellt hast?

      Viele Grüße

      Swen

      So ist es aber sie ist leider nicht mehr im Forum u deshalb hab ich heute auch nix mehr gefunden!

      Tut mir leid!

      Swen

      Ciao
      Markus

      1. Moin

        Möcht eine Seite laden(ist eine Formular Ergebnisseite-dauert daher etwas länger)!
        Während des Ladevorgangs sollte eine Info auf der Seite erscheinen daß die Seite geladen wird od so ähnlich!

        Schau dir zunächst mal das Formular an. Formulare, die so groß sind, dass die Ladezeit überbrückt werden muss, wird niemand gern ausfüllen wollen.

        Dann benutze <body onload="....> (Hattest du IIRC damals sogar schon erwähnt). Onload wirkt erst, wenn die Seite geladen ist.

        Viele Grüße

        Swen

        1. Während des Ladevorgangs sollte eine Info auf der Seite erscheinen daß die Seite geladen wird od so ähnlich!

          Dann benutze <body onload="....> (Hattest du IIRC damals sogar schon erwähnt). Onload wirkt erst, wenn die Seite geladen ist.

          Was meinst du mit IIRC??

          Was hätte ich für Möglichkeiten um trotzdem so etwas einzufügen!

          Also wenn ich es richtig verstanden habe ist es wenn ich es im <body onload="...> einfüge zu spät, oder?

          Danke

          Ciao
          Markus

          1. Moin

            Also wenn ich es richtig verstanden habe ist es wenn ich es im <body onload="...> einfüge zu spät, oder?

            Denk einfach anders herum :-) Dann ist nämlich genau der Zeitpunkt, den Hinweis, dass bitte gewartet werden soll, verschwinden zu lassen. Wichtiger ist aber imo (meiner Meinung nach :-)), das formular zu verkleinern. Muss es wirklich so groß sein?

            Viele Grüße

            Swen

            1. Hi Swen!

              Denk einfach anders herum :-) Dann ist nämlich genau der Zeitpunkt, den Hinweis, dass bitte gewartet werden soll, verschwinden zu lassen.

              Hast recht is logisch!*gg*

              Wichtiger ist aber imo (meiner Meinung nach :-)), das formular zu verkleinern. Muss es wirklich so groß sein?

              Aber wie könnnte ich das trotzdem realisieren wenn ich auch das Formular kleiner machen!

              Jetzt rein von der technischen Seite??

              Ciao
              Markus

              1. Moin,

                Aber wie könnnte ich das trotzdem realisieren wenn ich auch das Formular kleiner machen!

                SELFHTML lesen? Javascript lernen? Im Archiv wühlen?

                Probier es mal aus, du findest bestimmt was :-)

                http://www.teamone.de/selfaktuell/forum/archiv/2000_2/t15353.htm#a77748

                Swen

  2. Hallo!

    Das Ganze kannst du so erreichen:

    1. Bau in deine Seite 2 <div>'s. In das erste kommt die Meldung: Bitte warten ..., mit visibility=visible. In den anderen <div> mit visibility=hidden kommt die Formularauswertung.

    2. im <body> füge onLoad="changeVisibility()" ein.

    3. Die Funktion changeVisibility() im <head> macht den ersten Layer unsichtbar und den zweiten sichtbar.

    Fertig

    Gruss Markus

    1. Hallo!

      Das Ganze kannst du so erreichen:

      1. Bau in deine Seite 2 <div>'s. In das erste kommt die Meldung: Bitte warten ..., mit visibility=visible. In den anderen <div> mit visibility=hidden kommt die Formularauswertung.
      1. im <body> füge onLoad="changeVisibility()" ein.
      1. Die Funktion changeVisibility() im <head> macht den ersten Layer unsichtbar und den zweiten sichtbar.

      Hi!

      Könntest du mir das bitte etwas ausführlicher beschreiben!

      was beeinhaltet das script "changeVisibility()"???

      danke
      Ciao
      Markus

      1. Hallo!

        Könntest du mir das bitte etwas ausführlicher beschreiben!

        changeVisibility() kann auch anders heissen und ist eine Funktion im <head>Teil der Seite.

        Innerhalb der Funftion wird nach NC/IE und N6 unterschieden und das Attribut visibility der entsprechenden Layer verändert, etwa so:

        function changeVisibility()
        {
         if(document.all) //für IE
         {
          document.all.wait.style.visibility = 'hidden';
          document.all.lay1.style.visibility = 'visible';
         }
         else if (document.layers) // für NC
         {
          document.layers["wait"].visibility = 'hidden';
          document.layers["lay1"].visibility = 'visible';
         }
         else if (document.getElementByID) // für N6
         {
          document.getElementByID("wait").style.visibility = 'hidden';
          document.getElementByID("lay1").style.visibility = 'visible';
         }
        }

        Im <body> steht folgendes:

        <body onLoad(changeVisibility()">

        <!-- Dieser Layer ist beim Laden der Seite sichtbar -->
        <!-- wenn die Seite geladen ist unsichtbar -->
        <div id="wait" style="position:absolute;visibility:visible">
          Bitte warten, die Seite wird geladen ...
        </div>

        <!-- Dieser Layer ist beim Laden der Seite unsichtbar, -->
        <!-- wenn die Seite geladen ist sichtbar -->
        <div id="lay1" style="position:absolute;visibility:hidden">
          Dein Formular-Output
        </div>

        Gruss Markus

        1. Danke!!!!

          Konntest mir echt helfen!!!!

          Ciao

          Markus

  3. Möcht eine Seite laden(ist eine Formular Ergebnisseite-dauert daher etwas länger)!
    Während des Ladevorgangs sollte eine Info auf der Seite erscheinen daß die Seite geladen wird od so ähnlich!
    Wie macht man sowas??
    Na ich kann dir mal zum Beispiel ein DHTML Script anbieten was das macht schreib in deine Seite mal
    <html>
    <head>
    <title>preloading</title>
    <script>
    // Author: Brian Gosselin of http://scriptasylum.com

    var imagenames=new Array( 'bild.gif' , '../bild.gif' , '../usw.gif'); // das sind die Daten die vorgeladen werden
    var yposition=50; // das ist die höhe von der oberen Browserkante wen du hier 100 eingiebst geht das ding 50 Pixel nach unten
    var loadedcolor='navy' ; //das ist die Hintergrundfarbe hier kannst du auch meinetwegen ffffff eingeben
    var unloadedcolor='lightgrey'; // Farbe des Ladebalkens hier kannst du auch meinetwegen a01683 eingeben
    var barheight=20; // das ist die Höhe der des Lademenues
    var barwidth=400; // das ist die Breite des Lademenüs
    var bordercolor='black'; // das ist die Farbe des Rahmens
    var NS4 = (navigator.appName.indexOf("Netscape")>=0 && parseFloat(navigator.appVersion) >= 4 && parseFloat(navigator.appVersion) < 5)? true : false;
    var IE4 = (document.all)? true : false;
    var NS6 = (parseFloat(navigator.appVersion) >= 5 && navigator.appName.indexOf("Netscape")>=0 )? true: false;
    var imagesdone=false;
    var blocksize=barwidth/(imagenames.length);
    barheight=Math.max(barheight,20);
    var loaded=0, perouter, perdone, images=new Array();
    var txt=(NS4)?'' : '

    ';
    txt+='';
    if(NS4)txt+='';
    txt+='Loading Images...
    ';
    if(NS4) txt+='';
    txt+=(NS4)? '' : '';
    txt+='Loading Images...
    ';
    txt+=(NS4)? '' : '';
    txt+='
    ';
    txt+=(NS4)?'' : '';
    document.write(txt);

    function loadimages(){
    if(NS4){perouter=document.perouter;perdone=document.perouter.document.layers[0].document.perdone;}
    if(NS6){perouter=document.getElementById('perouter');perdone=document.getElementById('perdone');}
    if(IE4){perouter=document.all['perouter'];perdone=document.all['perdone'];}
    cliplayer(perdone,0,0,barheight,0);
    if(!imagesdone)window.onresize=function(){setTimeout('setouterpos()' ,200);}
    setouterpos();
    (NS4)? perouter.visibility="show" : perouter.style.visibility="visible";
    for(n=0;n<imagenames.length;n++){
    images[n]=new Image();
    images[n].src=imagenames[n];
    images[n].onload=dispbars;}}

    function setouterpos(){
    var ww=(IE4)? document.body.clientWidth : window.innerWidth;
    var x=(ww-barwidth)/2;
    if(NS4){perouter.moveTo(x,yposition);}
    if(IE4||NS6){perouter.style.left=x+'px';perouter.style.top=yposition+'px';}}

    function dispbars()
    {loaded++;cliplayer(perdone, 0, blocksize*loaded, barheight, 0);if(loaded>=imagenames.length)setTimeout('hideperouter()', 800);}

    function hideperouter(){
    (NS4)? perouter.visibility="hide" : perouter.style.visibility="hidden";
    location.href="start.html"} // hier gehts auf die nächste Seite

    function cliplayer(layer, ct, cr, cb, cl){
    if(NS4){
    layer.clip.left=cl;
    layer.clip.top=ct;
    layer.clip.right=cr;
    layer.clip.bottom=cb;
    }
    if(IE4||NS6)layer.style.clip='rect('+ct+' '+cr+' '+cb+' '+cl+')';
    }
    </script>
    <body onload="loadimages()">
    </body>
    </html>

    und den Rest kannste dann nach Lust und Lauen ändern. Dazu hab ich dir die Komentare gelassen !
    mfg Torsche