Добавьте <li> в конец <ul>

Это мой код:

var message;
var ul = $('.chat');
var btn = $('#btnEnviar');

btn.click(()=>{
  message = $('#Mensaje').val()
  ul.append('<li>'+message+'</li>');
})
$('#Mensaje').keyup((e)=>{
  (e.which === 13) && ul.append('<li>'+$('#Mensaje').val()+'</li>')
})

rest of the code is here:
[https://codepen.io/willmsha/pen/zyQVPb][1]

Как вы, ребята, видите, мне приходится прокручивать вниз после нескольких раз добавления нового сообщения на ul.

Есть ли шанс предотвратить это, кроме как с помощью чего-то вроде этого:

window.scrollTo(0,document.body.scrollHeight);



Итак, что я хочу сделать, это что-то вроде добавления тега li в конец ul, чтобы мне не приходилось прокручивать вниз при добавлении нового сообщения.

если вы добавите динамический идентификатор к каждому <li>, вы можете прокрутить до смещения.верх этого идентификатора.

admcfajn 18.01.2019 01:21
append уже всегда добавляет в низ. Если вы хотите оставить экран внизу, см. этот вопрос.
Heretic Monkey 18.01.2019 01:21

Разместите здесь свой код, используя фрагмент кода StackOverflow, а не ссылаясь на внешние сайты с кодом.

connexo 18.01.2019 01:26

@HereticMonkey спасибо, это то, что я искал. connexo действительно пытался, но потерпел неудачу

Alden Willms 18.01.2019 09:43
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
157
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто используйте метод .scrollIntoView(). Добавьте это в свой прослушиватель btn.click:

var children = document.getElementsByClassName("chat")[0].childNodes;

children[children.length-1].scrollIntoView();

Подробнее об этом читайте здесь: https://www.w3schools.com/jsref/met_element_scrollintoview.asp

Другие вопросы по теме