Scoll Position in einem Formular übergeben

Hattrijck

Mitglied
Hallo zusammen,

Ich habe eine ziemlich "lange" Seite und muss mehr oder weniger ein Popup-Div über ein Formular mit GET öffnen.
Nun habe ich das Problem, dass dadurch natürlich die Seite reloaded und hochgescrollt wird.

Kann man irgendwie die Scroll "Position" mitgeben und dann abrufen + ausführen?

MFG
Hattrijck
 
So komplett ohne Javascript bräuchtest du Anker.
Also mal angenommen du hast da irgendwo auf der Seite ein Element, wo man hinscrollen muss, und dann der Stelle kann man per Klick auf einen einen Submitbutton (was ich jetzt mal annehme) das PopUp öffnen, indem die selbe Seite mit einem GET-Parameter neu geladen wird.
Wenn das soweit passt könnte es nach der Art funktionieren:

HTML:
<form id="hierhin" action="?popup=1#hierhin" method="get">
<input type="submit" name="absenden" value="absenden">
</form>

Wenn ich da was missverstanden habe könntest du vllt den relevanten Code-Teil mal posten.
 
Ich vereinfache meinen Code ein wenig:

Eine For Schleife erstellt Divs die Onclick einen Get Befehl senden (Varibeln habe ich rausgenommen, die Stelle ist ca. 100 Zeilen lang und wird noch erweitert):
PHP:
for ($i = 0; $i <= 10; i++)
{
echo "<a href=\"game.php?position=$i\">
<div class=\"floor\" style=\"margin-top: $margin$px; background-image: url(../img/floors/$image);\">
</div>
</a>";
}

Mit folgendem Code wird das Ganze dann abgefangen:
PHP:
if(isset($_GET['position']))
{
echo "<div class=\"popup\"></div>";
}

Das Ganze funktioniert nun auch, aber wie erwähnt wird natürlich die Seite nach oben gescrollt.
Ich habe in der Vergangenheit einmal etwas gemacht, wo man einem Div eine ID zuweisen konnte und dann einen Link so modifizieren, dass man wenn man darauf klickt das Div am oberen Seitenrand hat... Leider habe ich den Code nicht mehr.

EDIT: Okay das ist was du gepostet hast^^ Danke :D
 
Zuletzt bearbeitet:
Du schreibst Div & onclick, meinst aber wahrscheinlich das a-Tag (Hinweis: wenn's nicht gerade HTML5 ist darfst du keine Div-Container in a-tags setzen).

Das was du beschrieben hast wird m.E. von Ankern (oder Sprungmarken) genau erfüllt.

PHP:
for ($i = 0; $i <= 10; i++)
{
echo "<a href=\"game.php#floor_".$i."\">
<div class=\"floor\" id=\"floor_".$i."\" style=\"margin-top: $margin$px; background-image: url(../img/floors/$image);\">
</div>
</a>";
}

edit: ah. Okay ;)
 
Zurück