Тема закрыта
1
Прокрутка div блока до упора вниз
Отправлено: 23 Июн 2011#1
Воспользовался статьей по Ajax'у от дрюни, сделал чат, соединенный с игровыми серваками.
Но вот до чата он еще не дотягивает, т.к. новые сообщения выводятся внизу, но при перезагрузке данных из базы, ползунок улетает наверх, а нужно наоборот. В JS я никакой, вот и прошу помощи. Основной скрипт вот:
Пытался сделать якорем:
но не крутится.
Также пробовал window.scroll(0,4000), но прокручивается основное окно, тогда я сделал так:
var element = document.getelementbyid("mg_chat");
element.window.scroll(0,4000);
тоже ничего не вышло.
Но вот до чата он еще не дотягивает, т.к. новые сообщения выводятся внизу, но при перезагрузке данных из базы, ползунок улетает наверх, а нужно наоборот. В JS я никакой, вот и прошу помощи. Основной скрипт вот:
1
2
3
4
5
6
7
8
9
<?php echo "<script type=\"text/javascript\">
function getRecords() {
$.get('?go=sys&sys=chat', {}, function(data){
$('#mg_chat').html(data);
setTimeout(\"getRecords()\", 5000);
});
}
getRecords();
</script>"?>
Пытался сделать якорем:
Code:
#bottom
<a name="bottom></a>
<a name="bottom></a>
Также пробовал window.scroll(0,4000), но прокручивается основное окно, тогда я сделал так:
var element = document.getelementbyid("mg_chat");
element.window.scroll(0,4000);
тоже ничего не вышло.
Отправлено: 23 Июн 2011#2
Krevedko, а я просто делаю сортировку сообщений в другом порядке. То есть что бы новые были вверху и проблема решается
Или тебе так не подходит?
Или тебе так не подходит?
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 25 Июн 2011#3
Drunya, но вообще эти скачки в конец делают невозможным чтение старых сообщений. Как сделать так, чтобы информация обновлялась, но scroll вообще не двигался сам по себе?
Добавлено2011.06.25 11-14
Решение 1 - после обновления сдвигаем ползунок в самый низ:
Взять div с аяксом в еще один див и прописать ему класс, допустим chat
Решение 2 - после обновления ползунок остается там где был:
Взять div с аяксом в еще один див и прописать ему класс, допустим chat
Добавлено2011.06.25 11-14
Решение 1 - после обновления сдвигаем ползунок в самый низ:
Взять div с аяксом в еще один див и прописать ему класс, допустим chat
Code:
$(".chat").scrollTop($(".chat").get(0).scrollHeight);
Решение 2 - после обновления ползунок остается там где был:
Взять div с аяксом в еще один див и прописать ему класс, допустим chat
Code:
var scrollDown = ($(\".chat\").scrollHeight - $(\".chat\").scrollTop <= $(\".chat\").offsetHeight );
$(\".chat\").scrollTop = scrollDown ? $(\".chat\").scrollHeight :
$(\".chat\").scrollTop;
$(\".chat\").scrollTop = scrollDown ? $(\".chat\").scrollHeight :
$(\".chat\").scrollTop;
Отредактировано автором 25 Июн 2011
Отправлено: 25 Июн 2011#4
проблема решена. Тему закрываю.
Я горжусь тем, что помогаю в развитии бесплатной CMS - AtomX
Отправлено: 25 Июн 2011#5
Открыто по просьбе ТС, для дополнения(и опять закрыто)
Отредактировано автором 25 Июн 2011
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 19. Зарегистрированных: 0. Гостей: 19.