JavaSscript : forcer scrollbar ds un div
aza
-
Patrick Etienne -
Patrick Etienne -
Bonjour,
J'ai une page dans laquelle j'ai inséré un calque (div) avec une scrollbar verticale.
Ce div est rempli dynamiqement, il contient un tableau dont le nombre de lignes peut varier. A chaque ajout de ligne dans le tableau, j'aimerais que l'on puisse voir la dernière ligne du tableau, et donc forcer le scrollbar du div à aller tout en bas.
Les méthodes scroll (et scrollBy, scrollTo) ne fonctionnent qu'avec l'objet window et pas avec les calques...
J'ai bien une méthode qui fonctionne très bien en statique (quand je code en dur dans la page), mais elle ne fonctionne plus en dynamique (quand je génère le code avec une fonction).
La voici :
J'ajoute la ligne suivante juste après le tableau, mais toujours dans le div (sacahnt que 'last' est l'id du dernier <tr> du ta&bleau) :
</table>
<script>document.all.last.scrollIntoView(false);</script>
</div>
Quelqu'un aurait-il une piste ou une solution à ce problème ?
Merci beaucoup d'avance...
Aza
PS : je travaille sous IE, et je n'ai pas spécialement besoin que la solution soit compatible avec les autres navigateurs...
J'ai une page dans laquelle j'ai inséré un calque (div) avec une scrollbar verticale.
Ce div est rempli dynamiqement, il contient un tableau dont le nombre de lignes peut varier. A chaque ajout de ligne dans le tableau, j'aimerais que l'on puisse voir la dernière ligne du tableau, et donc forcer le scrollbar du div à aller tout en bas.
Les méthodes scroll (et scrollBy, scrollTo) ne fonctionnent qu'avec l'objet window et pas avec les calques...
J'ai bien une méthode qui fonctionne très bien en statique (quand je code en dur dans la page), mais elle ne fonctionne plus en dynamique (quand je génère le code avec une fonction).
La voici :
J'ajoute la ligne suivante juste après le tableau, mais toujours dans le div (sacahnt que 'last' est l'id du dernier <tr> du ta&bleau) :
</table>
<script>document.all.last.scrollIntoView(false);</script>
</div>
Quelqu'un aurait-il une piste ou une solution à ce problème ?
Merci beaucoup d'avance...
Aza
PS : je travaille sous IE, et je n'ai pas spécialement besoin que la solution soit compatible avec les autres navigateurs...
3 réponses
un ch'tit exemple ?
<HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <div name="div1" style=" overflow:'auto'; width:'200px'; height:'50px';"> <table name="tableau" id="tableau" border=4> <tr><td>1-1</td><td>1-2</td><td>1-3</td></tr> <tr><td>2-1</td><td>2-2</td><td>2-3</td></tr> <tr><td>3-1</td><td>3-2</td><td>3-3</td></tr> <tr><td>4-1</td><td>4-2</td><td>4-3</td></tr> <tr><td>5-1</td><td>5-2</td><td>5-3</td></tr> </table> </div> <script type="text/javascript"> tableau.rows[tableau.rows.length-1].cells[0].focus(); </script> </BODY> </HTML>