mike: Scroll Position von Div merken?

Hallo,

ich habe einen Seitenaufbau mit mehreren Scrollbaren Divs (Position:fixed).

Wenn ich darin scrolle und einen Link klicke und dann auf zurück gehe bin ich immer ganz oben bei der Scrollbar. Nur im  Firefox bin ich nach zurück wieder an der Position im Div, wo ich vorher war.

Es gibt einige jscript wie recover div scroll z.b. aber die funktionieren nicht richtig.

kennnt von euch wer eine möglichkeit, wie das funktioniert?

danke für ein paar tipps,
michael

  1. @@mike:

    nuqneH

    kennnt von euch wer eine möglichkeit, wie das funktioniert?

    Cookies?

    Qapla'

    --
    Bildung lässt sich nicht downloaden. (Günther Jauch)
  2. Hallo,

    Wenn ich darin scrolle und einen Link klicke und dann auf zurück gehe bin ich immer ganz oben bei der Scrollbar. Nur im  Firefox bin ich nach zurück wieder an der Position im Div, wo ich vorher war.

    Eine Frage dazu, ist "zurück" ein link oder meinst du den zurück button im browser, da ist nämlich history.back() hinterlegt -> d.h bei mir im Firefox 3.0 wird das Div wieder auf die voherige Position gesetzt.

    Und wenn es ein Link ist könnte man  z.B
    <a href="" onmousedown="history.back()" >Zurück</a>

    Oder wenn ein Link mit anderer Seite eingebaut werden soll, dann könnte man das eventuell so lösen:

    Also wir brauchen ein 3 Javascript functionen
    2 in dem file wo sich das div befindet (div_file)
    und 1 in der wo der link hinführt (link_file)

    //div_file
    //die set-Funktion um der Seite wo du hingehst den Parameter für die
    //Scrollposition zu übergeben
    //
    //und die get-Funktion um die Position später wieder auslesen zu können

      
    <script type="text/javascript">  
      function set(site){  
        var var_name = "scrollpos";  
        location.href=site+"?"+var_name+"="+document.body.scrollTop+";";  
      }  
      
      function get(){  
        var tmp = location.href;  
        var var_name = "scrollpos";  
        var pos1 = tmp.indexOf(var_name)+var_name.length+1;  
        var pos2 = tmp.indexOf(";");  
        document.body.scrollTop = tmp.substr(pos1,pos2-pos1);  
      }  
    </script>  
    
    

    //link_file
    //um den Wert in der Adressleiste weiter oder zurück zugeben

      
    <script type="text/javascript">  
      function set(site){  
        var tmp = location.href;  
        var name = "print.php"  
        var pos1 = tmp.indexOf(name);  
        var pos2 = tmp.indexOf(";");  
        location.href=tmp.substr(0,pos1)+site+tmp.substr(pos1+name.length,pos2);  
    }  
    </script>  
    
    

    Der html code könnte dann z.B. so aussehen:
    //div_file
    //im body wird jedesmal wenn die Seite geladen wird geprüft ob eine schon
    //eine scrollposition existiert, wenn nicht ist standard 0
    //und der link müsste dann so aufgebaut sein:
    //  <a href="#" onclick="set('hier was sonst bei href stehen würde')">link</a>

      
    <body onload="get()">  
      <div style="position:fixed">  
        <p>Hallo Welt...</p>  
        <p><a href="#" onclick="set('link_file.html')">Link zum Script</a></p>  
      </div>  
    </body>  
    
    

    //link_file
    //hier würden die links jetzt genauso wie oben aussehen:

      
      <a href="#" onclick="set('div_file.html')">Zurück</a></p>