Se connecter avec
S'enregistrer | Connectez-vous

[résolu]obliger une scroll bar a rester en bas

Dernière réponse : dans Programmation

Bonjour à tous.
Je m'adresse à vous pour vous car j'ai un petit problème.

Je suis en train de créer un tchat en xajax. Pour afficher la conversation je fait appel à un div avec un overflow automatique. Le problème que je ne sais pas comment faire pour que la scroll barre descende automatiquement selon le texte qu l'on ajoute, comme sur MSN en particulier.. Merci de votre aide...
Lassé par la pub ? Créez un compte
Expert Programmation

Mets toi des ancres dans les textes que t'affiche ... et ta fonction d'ajout finira par un appel javascript pour aller à l'ancre !

Exemple :

  1. <div id="tchat_conv">
  2. <span id="m1"> P1 : Salut, comment va ?</span>
  3. <span id="m2"> P2 : Bien et toi ?</span>
  4. <span id="m3"> P1 : Tranquil !</span>
  5. </div>


Et en javascript :
  1. window.location="#m3"


Ok, merci pour la réponse, mais sa ne marche pas ^^. J'ai du oublier quelque chose...

<span id=$donnees['id']><li>Le message</li></span>

voici pour la ligne du message, le pseudo es marqué, mais le code n'est pas nécessaire... Je pense sa vient de la, car dans ma barre d'adresse, j'ai bien le #160 (160 pour l'exemple, mais il change bien).

$reponse->script("window.location='#".$id_fin."'");

Voici ma fin de fonction xajax Au cas ou... $id_fin étant l'indice du dernier message.

J'espère avoir clairement expliqué... Merci de m'aider
Expert Programmation

  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. var ind = 0;
  5.  
  6. function getInd(){
  7. ind = ind +1;
  8. return ind;
  9. }
  10.  
  11. function goInd(){
  12. window.location = "#"+ind;
  13. }
  14.  
  15. function addSentence(){
  16. var obj = document.getElementById("tchat");
  17. obj.innerHTML = obj.innerHTML + "<li id=\""+getInd()+"\">Test "+ind+"</li>";
  18. goInd();
  19. }
  20. </script>
  21. </head>
  22. <body>
  23. <ul id="tchat">
  24. <li>Welcome</li>
  25. </ul>
  26. <input type="submit" value="Test" onClick="addSentence()" />
  27. </body>
  28. </html>


Chez moi, ça ça marche niquel !

Sous Fx, IE et Opera ...

^^

En effet sa marche... sa doit être ma liste qui fait le bazart!
Ma page est trop grande et ne donne pas le résultat attendu... mais si je la rétréci, sa ira...

Mais aussi, a chaque actualisation de la page, la zone de texte est désélectionnée... On ne peut pas appliquer location à uniquement la zone?

En tout cas, une GRAND merci redtux!

Mais, il n'y a pas un moyen en javascript de dire que on doit voir le bas du div?
Expert Programmation

Ben à part ça ... Je vois pas, désolé ...

Par contre, avant d'appliquer le "location", tu peux récupérer ce que t'as sélectionné et le resélectionner après ... Enfin, peut être ... Je vais essayer de mon coté, je te garantis rien !
Lassé par la pub ? Créez un compte
Tom's guide dans le monde