Ошибка при прокрутке nicescroll вниз

У меня есть html-документ, в котором работает мой чат. После получения нового сообщения я добавляю его с помощью .append. После этого я хочу прокрутить вниз до нижней части окна чата. но по какой-то причине nicescroll не прокручивается полностью.

мой HTML-элемент:

<div class="chat"> // class chat is unique
     <div id="chat_body">
         <span id="new_messages">
              //messages
         </span>
     </div>
 </div>

jquery-скрипт:

  $('#new_messages').append(messagehtml);
  $('.chat').getNiceScroll(1).resize();
  $('.chat').getNiceScroll(1).doScrollTop($('#chat_body').height() - 1, 1);

nice scroll(1), потому что на сайте есть еще один элемент nicescroll.

Использование $('.chat').getNiceScroll(1).doScrollTop($('#chat_body').height() - 1, 1); в консоли разработчика Chrome работает отлично.

Мне интересно, почему. Может .append тормозит?


person Alexander    schedule 04.05.2016    source источник
comment
попробуйте использовать .append(messagehtml).promise().done(function(){ // обновить nicescroll здесь });   -  person Mohamed-Yousef    schedule 04.05.2016
comment
ваш код работает нормально.. но идентификатор должен быть уникальным.. jsfiddle.net/JPA4R/190 и это с promise.done jsfiddle.net/JPA4R/191   -  person Mohamed-Yousef    schedule 05.05.2016


Ответы (2)


Я сталкиваюсь с той же проблемой. Единственный способ преодолеть это - добавить один <br/> в конце содержимого.

person Master Jowin    schedule 29.10.2018

внесите изменения в плагины, замените следующие

(q=!1,e.stopImmediatePropagation(),e.preventDefault())

с участием

(q=!1,e.stopImmediatePropagation())
person Suman Kumar    schedule 07.12.2019