Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как сделать плавную прокрутку, в чате? 
:(
    Опции темы
Рыжий
Дата 1.5.2005, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: нет
Всего: 20



Здравствуйте!
У меня вопрос - все наверное знают что в чатах при добавлении нового сообщения экран "сползает" вниз к нему, чтобы его все увидели, как это можно сделать.
Я слышал есть такая функция scroll() но не нашел нигде ее описания smile
Какие у вас предложения?
PM MAIL ICQ   Вверх
Sardar
Дата 1.5.2005, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Сначала определись как у тебя окно чата реализованно smile Если фрейм, то хоть scroll'ом, хоть scrollTop'пом, хоть scrollIntoView(права не плавно будет).
Если в слое, то первое не пойдёт.

Приведи конкретный код, получишь конкретный ответ.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Рыжий
Дата 1.5.2005, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: нет
Всего: 20



чат реализован обыкновенными фреймами.
А можно поподробнее про scroll, scrollTop, scrollIntoView?? smile
PM MAIL ICQ   Вверх
Aliance
Дата 1.5.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



PM MAIL WWW ICQ Skype   Вверх
Рыжий
Дата 2.5.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: нет
Всего: 20



Хм интерестно, почитал, много инфы но чето не хочет оно у меня работать, я пишу:

<body onload "scroll(0,100);">

И все равно ничего! если я пишу (в чате) уже идет 20 реплика а он все равно вверху, хотя разговор уже ушел в низ.
Тестирую в IE6 вроде все правильно, странно...
PM MAIL ICQ   Вверх
Sardar
Дата 2.5.2005, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(PHP @ 2.5.2005, 14:45)
body onload "scroll(0,100);"

Состна есть аттрибут, есть значение, синтаксис аттр=знач. (onload="scroll(0,100);") smile

Если бы у тебя окно чата постоянно не перезагружалось, то можно сделать красивую не моргающую плавную прокрутку. Естественно наличие JS обязательно. Кстати в твоем случае можно пользоваться якорями, тогда без JS всё будет работать.

НО, это жутко старо и не удобно. Плавная прокрутка нужна в чате где окошко с мессагами не мерцает и не перезагружается, следовательно загрузка идёт где то за кулисами(скрытый фрейм, подгружаемый скрипт, XMLHTTPRequest наконец), а затем контент вставлаяется в окошко и плавно прокручиваеться. В этом случае можно запустить "тред" с интервалом:
Код
window.setInterval(function(){
  self.scrollBy(0, 3);
 }, 100);

Страничка будет постоянно плавно скролиться вниз. Естественно после этого нужно отлавливать события мыши, дабы юзер проскролив страницу наверх почитать что было, не парился с постонянно скролящимся окошком smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Рыжий
Дата 2.5.2005, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: нет
Всего: 20



Цитата(Sardar @ 2.5.2005, 15:13)
синтаксис аттр=знач. (onload="scroll(0,100);")

Блин киньте камнем в меня все кто это видел, ну это ж нада такое пропустил smile

Кстати тебе + за все предоставленные советы!

Это сообщение отредактировал(а) PHP-Script - 2.5.2005, 17:43
PM MAIL ICQ   Вверх
Aliance
Дата 2.5.2005, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Лично я пользуюсь таким кодом:
Код

function scrollToTop() {
   if (document.body.scrollTop > "0") {
      document.body.scrollTop -= "100";
      scroll(0,document.body.scrollTop);
      setTimeout("scrollToTop()",10);
   }
}

PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 12.7.2005, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Цитата(Aliance @ 2.5.2005, 21:59)
scroll(0,document.body.scrollTop);

А что разве document.body.scrollTop=44 не даст результата без scroll()?


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 12.7.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



document.body.scrollTop - это координаты окна в ИЕ. Он возвращает значение, а метод (повторюсь, метод) делает прокрутку.
PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 13.7.2005, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Aliance, но если я к любой другой ноде применю, ведь сработает же? Да?
document.getElementById('div1').scrollTop=0


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Sardar
Дата 13.7.2005, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Угу, просто по барабану использовать метод scroll или scrollTop пока ты не запарился с доктайпами, ведь в XHTML body.scrollTop не может меняться, если не ошибаюсь.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 13.7.2005, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Какой ужас, останусь ка я в каменном веке, пока с HTML 3.2 smile


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.