kraed65: Frame (Seiten) Höhe reduzieren.

Hallo zusammen,

bei Aufruf eines langen Bestell-Formular ist die nächste Seite mit dem Bestellinhalt genau so lang wie die vorherige, trotzdem, dass der Inhalt nur sehr knapp ist, halt eine Zusammenfassung, aber wie kann ich automatisch auf den Seitenanfang zu „springen“ ohne die Seite neu zu laden?

Der gesamte Formular wird in einem Frame ausgegeben:

  
<iframe id="frame1" src="http://meine_domain/index.php?param1=43434&param2=3453" width="670" frameborder="0" allowtransparency="true" scrolling="no" >  
<p>Sorry, your browser cannot display frames!</p>  
</iframe>

Leider bekomme ich es nicht hin aus dem Child-Frame auf die Höhe des Parent-Frames zu zugreifen, das war meine erste Idee.

Hat jemand ein anderen Vorschlag?
Grüße
kraed65

  1. Moin,

    bei Aufruf eines langen Bestell-Formular ist die nächste Seite mit dem Bestellinhalt genau so lang wie die vorherige, trotzdem, dass der Inhalt nur sehr knapp ist, halt eine Zusammenfassung, aber wie kann ich automatisch auf den Seitenanfang zu „springen“ ohne die Seite neu zu laden?

    Suchst du vielleicht <http://de.selfhtml.org/javascript/objekte/window.htm#scroll_to@title=window.scrollTo(x, y);> ?

    Grüße Marco

    1. Hi,

      jaein, denn Dein Vorschlag habe ich angewendet in der Frame Datei und folgend umgebaut:

        
      onload = function() {  
        if(parent.frames.length && document.documentElement && document.documentElement.scrollHeight)  
        {  
        	console.log("pageYOffest: "+window.pageYOffset);						  						  
      	console.log("scrollTop: "+document.body.scrollTop);  
        
        	  var y = 0;  
      	  if (window.pageYOffset) {  
      	    y = window.pageYOffset;  
      	  } else if (document.body && document.body.scrollTop) {  
      	    y = document.body.scrollTop;  
      	  }  
      	  if (y >= 0) {  
      	    window.scrollBy(0, 0);  
      	    var yy = document.body.scrollTop;  
      	    console.log("scrollen: "+yy);  
      	  }  
        }  
      }  
      
      

      Der Script wird mit der Seite geladen, aber leider geschieht nichts, die Ausgabe von der Variable „yy“ ist immer „0“.

      Grüße
      kraed65

      1. Moin,

        jaein, denn Dein Vorschlag habe ich angewendet in der Frame Datei und folgend umgebaut:
        Der Script wird mit der Seite geladen, aber leider geschieht nichts, die Ausgabe von der Variable „yy“ ist immer „0“.

        Ich verstehe nicht, warum du dir das ganze so schwer machst. ScrollBy war nicht mein Vorschlag. Um zum Seitenanfang zu gelangen gibt es window.scrollTo(0, 0);. Um aus einem Iframe heraus nach oben zu scrollen gibt es top.scrollTo(0, 0); oder wahlweise parent.frames[x].scrollTo(0, 0);

        Grüße Marco

    2. Hi,

      stimmt, im „Eifer des Gefechts“ habe ich zu weit nach oben gescrollt 
      Deine Lösung funktioniert.
      Danke für den Tipp.
      Hier mein Script:

        
      <script type="text/javascript">  
      <!--  
      	onload = function() {  
            if(parent.frames.length && document.documentElement && document.documentElement.scrollHeight)  
            {  
            	  var y = 0;  
      		  if (window.pageYOffset) {  
      		    y = window.pageYOffset;  
      		  } else if (document.body && document.body.scrollTop) {  
      		    y = document.body.scrollTop;  
      		  }  
      		  if (y >= 0) {  
      		    top.scrollTo(0, 0);  
      		  }  
            }  
          }  
      -->  
      </script>  
      
      

      Grüße
      kraed65