2014-01-30 2 views
1

Я создаю приложение чата с AJAX и PHP. Мне удалось получить чаты, выровненные в нижней части div, в которых появляются чаты. Когда новые сообщения загружаются, сообщения успешно добавляются в нижней части div и с помощью JS я получаю полосу прокрутки внизу, чтобы отображать новое сообщение. Так же, как показано ниже:вертикальное выравнивание в нижней части страницы чата и прокрутки страницы

if(document.getElementById("oldmessages").scrollTopMax) 
       { 
        if(document.getElementById("oldmessages").scrollTopMax > document.getElementById("oldmessages").clientHeight) 
        { 
        document.getElementById("oldmessages").scrollTop = document.getElementById("oldmessages").scrollTopMax; 
        } 
       } 

Проблема, в том, что каждый раз, когда новый чат загружается АЯКС запроса, который постоянно опрашивает сервер, в то время обжигали этот код и каждый раз, когда полоса прокрутки идет вниз. Даже если пользователь может проверять сообщения над последними сообщениями, он все еще ведет себя так, потому что я не уверен, как исправить это. Есть ли способ помочь решить эту проблему, и не позволяйте прокручивать полосу прокрутки вниз, когда пользователь проверяет сообщения над последним сообщением?

Просьба внести свой вклад.

ответ

0

Вы можете использовать element.scrollTop для получения position от scroll во время ajax является огнем. , если position от scroll bar не указано на bottom, чем установить позицию на old position. В первый раз вы можете установить position из scroll на bottom.

Смежные вопросы