как сделать прокрутку журнала чата с прокруткой вниз с постоянным обновлением без изменения фокуса мыши? - PullRequest
0 голосов
/ 24 апреля 2011

Я пишу небольшое приложение для чата и чата, в котором я использую следующий фрагмент кода, чтобы обновлять div журнала сообщений каждые 0,5 секунды и обновлять до конца, чтобы показать последнее сообщение.

$(setInterval(function() {
    $('.messageLog').load('display_messages.php');
    window.location='#bottom';
}, 500));

«#bottom» относится к пустому div, который я поместил в конце div .messageLog, поэтому у меня есть место, которое будет называться нижней частью журнала сообщений.Проблема с этим методом заключается в том, что когда я пытаюсь войти (просто введя имя пользователя и нажав кнопку входа через небольшую форму в верхней части окна чата), поле ввода имени пользователя обновляется и теряет фокускаждые 0,5 секунды в Firefox и Internet Explorer (отлично работает в Chrome).Проблема оказывается в строке "window.location = '# bottom'", которая вызывает проблему с фокусировкой поля ввода.

Мне было интересно, есть ли способ обойти это, чтобы я все еще мог обновитьЖурнал сообщений каждые 0,5 секунды и автоматически прокручивается до самого дна, не мешая пользователям, пытающимся войти через поле имени пользователя.

1 Ответ

1 голос
/ 24 апреля 2011

удалите якорь, используйте вместо этого

$(".messageLog").attr({ scrollTop: $(".messageLog").attr("scrollHeight") });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...