Problème de scroll avec un chat ajax
Fermé
tybmhi
Messages postés
200
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
18 septembre 2017
-
23 déc. 2015 à 10:28
tybmhi Messages postés 200 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 - 23 déc. 2015 à 12:26
tybmhi Messages postés 200 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 - 23 déc. 2015 à 12:26
A voir également:
- Problème de scroll avec un chat ajax
- Coco chat - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Chat engine - Télécharger - Outils Internet
- Coco chat gratuit - Forum Google Chrome
- Scroll lock ✓ - Forum Windows
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
23 déc. 2015 à 11:30
23 déc. 2015 à 11:30
Salut,
Un exemple de début de solution possible : https://jsfiddle.net/ozumte4r/
L'idée est de simplement vérifier que la position du scroll est tout en bas de l'élément #id_message et d'effectuer le scroll après l'ajout du message seulement si celui-ci était déjà en bas.
Bonne journée
Un exemple de début de solution possible : https://jsfiddle.net/ozumte4r/
L'idée est de simplement vérifier que la position du scroll est tout en bas de l'élément #id_message et d'effectuer le scroll après l'ajout du message seulement si celui-ci était déjà en bas.
Bonne journée
tybmhi
Messages postés
200
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
18 septembre 2017
12
23 déc. 2015 à 11:47
23 déc. 2015 à 11:47
Merci beaucoup Pitet, ça fonctionne !! En revanche, j'ai une question : à quoi sert la ligne
Car lorsqu'elle est présente j'ai du mal à remonter le scroll en manuel alors que lorsque je la retire, aucun problème.
Nouveau code pour d'autres utilisateurs :
--
console.log('scroll down');
Car lorsqu'elle est présente j'ai du mal à remonter le scroll en manuel alors que lorsque je la retire, aucun problème.
Nouveau code pour d'autres utilisateurs :
$(document).ready(function() {
$('.toggle_chat').hide();
$("#message_box")[0].scrollTop = $("#message_box")[0].scrollHeight;
// load messages every 3000 milliseconds from server.
load_data = {'fetch':1};
window.setInterval(function(){
var box = $("#message_box")[0];
// on vérifie si le scroll est en bas de l'élément
var toBottom = box.offsetHeight + box.scrollTop >= box.scrollHeight;
$.post('chatbox/shout.php', load_data, function(data) {
$('.message_box').html(data);
if (toBottom) {
$("#message_box").animate({scrollTop: $("#message_box")[0].scrollHeight},2000);
}
});
}, 3000);
--
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
23 déc. 2015 à 12:25
23 déc. 2015 à 12:25
La commande console.log() permet d'afficher des informations dans la console de développement du navigateur. Elle est utilisée uniquement pour faire du débug et tu dois effectivement la supprimer puisqu'elle ne sert à rien pour le code final.
tybmhi
Messages postés
200
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
18 septembre 2017
12
23 déc. 2015 à 12:26
23 déc. 2015 à 12:26
Merci pour cette réponse rapide et très claire !