11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

J'ai un div dans lequel j'ai de nombreuses petites images, sous forme de tableau.
Ce div est muni d'un overflow vertical, vu la taille du tableau.
Toutes ces images sont cliquables.
Lorsqu'on clique sur une image, cela ouvre, dans la div, à la place du tableau d'image, une fiche d'infos/photos/vidéos plus ou moins longue.

Le problème est que, si on a scrollé vers le bas pour sélectionner l'image, l'ascenseur reste au même endroit lors de l'affichage de la fiche, donc on se trouve au milieu de la fiche. Évidemment, je voudrais que l'ascenseur se trouve en haut de la barre lorsque la fiche s'affiche...

Je suis au niveau 1 sur 100 en javascript, mais je tente tout de même...
J'ai cru comprendre qu'il fallait utiliser la fonction scrollTop pour faire ce dont j'ai besoin, et je pensais qu'en faisant simplement:
document.getElementById(position).scrollTop = 0;
dans la définition de ma fonction, ça irait, mais ça marche pas...
('position' représente la div en question)

J'ai tenté des variantes, en fonction de recherches internet, mais ça n'a rien donné pour l'instant.
Quelqu'un saurait-il m'aider là-dessus ?

Merci d 'avance.
J'ai trouvé ça sur le net... Pas eut le temps de tester, mais ça me parait correct...

e = document.getElementById(position);
e.scrollTop = e.scrollHeight;


Je pense que ton problème vient du fait que scrollTop attends la distance qu'il doit parcourir (vers le haut), alors que tu essayes de lui donner la hauteur à laquelle tu veux qu'il aille. Ce problème est résulo en utilisant e.scrollHeight qui renvoit la hauteur totale de scroll. Donc il remontera de toute sa hauteur.
Bonjour HammHetfield et merci de la rapidité de ta réponse.

En fait, ce que tu m'a proposé ne fonctionnait pas en l'état, dans mon code, en tous cas, mais tu m'as mise sur la voie: en rajoutant un petit "-" devant e.scrollHeight, ça fonctionne !!!!

Merci beaucoup de ton aide (je viens de passer au niveau 1,5/100 en javascript, youpi !)

A bientôt, peut-être