Page 1 sur 1

SMART SCROLL php + javascript

Posté : 12 janv. 2006, 21:41
par g L
Bonjour,

Je cherche à conserver la position de la scrollbar vertical dans une page qui serait rafraichie et qui devrait être repositionnée à la meme place que avant le rafraichissement.
J'ai trouvé une proposition qui marche très bien avec des "hidden" dans un formulaire:
<HTML>
<HEAD>
<TITLE>Test</TITLE>
<script>
  function SaveScrollXY() {
    document.Form1.ScrollX.value = document.body.scrollLeft;
    document.Form1.ScrollY.value = document.body.scrollTop;
  }
  function ResetScrollPosition() {
    var hidx, hidy;
    hidx = document.Form1.ScrollX;
    hidy = document.Form1.ScrollY;
    if (typeof hidx != 'undefined' && typeof hidy != 'undefined') {
      window.scrollTo(hidx.value, hidy.value);
    }
  }
</script>
</HEAD>
<BODY onload="ResetScrollPosition()">
  <form name="Form1" id="Form1" method="post" onsubmit="SaveScrollXY()" action="test4.php">
    <input name="ScrollX" id="ScrollX" type="hidden" value="<?php echo $_REQUEST['ScrollX'] ?>" />
    <input name="ScrollY" id="ScrollY" type="hidden" value="<?php echo $_REQUEST['ScrollY'] ?>" />
    <p>This is just a paragraph to make a very long page.</p>
    …
    <P>
      <input name="TextBox1" type="text" value="<?php $v = $_REQUEST['TextBox1']; echo $v ? $v + 1 : 1 ?>" readonly="readonly" id="TextBox1" /></P>
    <P>
      <input type="submit" name="Button1" value="Post Form" id="Button1" /></P>
  </form>
</BODY>
</HTML>

Mais mon problème est que je ne veux pas de formulaire et j'aimerais avoir la meme fonctionnalité avec un simple link "href".
Sans formulaire je suis confronté au problème de la récupération de la variable. J'ai pensé à une solution via cookie, mais c'est un peu laborieux pour une simple (je crois) chose.

Si quelqu'un a une solution ou un piste, il sera le bienvenu.

Merci d'avance

Gael

Posté : 12 janv. 2006, 22:34
par Truc
Salut, peut etre avec des ancres

Posté : 13 janv. 2006, 00:09
par g L
Oui les ancres c'est bien. Mais je voulais passer par javascript car avec safari j'ai rencontré des bugs complètement bizarres avec les ancres.(Du style ma page n'est pas replacée pas correctement ou au mieux elle n'est pas replacée du tout). Par contre avec les mêmes script sur FF ou IE, aucun problème, MAC ET PC.