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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоскроллинг страницы вниз, при вводе сообщений в чат...... 
:(
    Опции темы
Lyapko
  Дата 23.9.2005, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



при вводе сообщений в чат страница стоит на месте, а сообщения записываються вниз, и их не видно!!!
Как сделать, чтобы при написании нового сообщения, страница автоматически показывалась внизу smile

Это сообщение отредактировал(а) Lyapko - 23.9.2005, 03:10
PM MAIL   Вверх
Wolf1994
Дата 23.9.2005, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 4
Всего: 29



Код

<a name="#new">

- метка над сообщением,

ссылка на страницу с этой меткой должна иметь следующий вид:
http://ссылка#new
PM MAIL WWW   Вверх
AntonioBanderaz
Дата 23.9.2005, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


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

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



и как вариант использовать <iframe>


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Lyapko
Дата 23.9.2005, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



Ребята а можно по подробнее, просто с <iframe> мне не надо, у меня чат допустим на 2х файлах,
форма для ввода текста, и фрейм для вывода текста!!!

Эти 2 файла лежат в разных фреймах!!!
PM MAIL   Вверх
AntonioBanderaz
Дата 23.9.2005, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


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

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



Пишешь на javascript чтобы у тебя во фрейме с сообщениями обновлялся допустим каждую секунду, и не просто messages.php, а messages.php#last.
На php пишешь чтобы последнее добавленое сообщение марткировалось якорем last

Вот в принципе усё.


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Opik
Дата 24.9.2005, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Это в JS: window.scrollBy
PM MAIL Skype   Вверх
sergejzr
Дата 25.9.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Товарищ Lyapko! Читайте пожалуйста правила форума, прежде чем постить. У нас есть правило: Один вопрос- один топик (Кстати именно игнорирование правил превратилось в неразбериху в этом топике и послужило началом последним двум сообщениям) Мне пришлось делить Вашу тему на три разных.
http://forum.vingrad.ru/index.php?showtopic=65396
http://forum.vingrad.ru/index.php?showtopic=65395
и эта.

Впредь постарайтесь не нарушать smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Lyapko
Дата 25.9.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



Хорошо, я сам хотел их потом разделить, но нет прав!!! Больше не будет такого!!!
PM MAIL   Вверх
Lyapko
Дата 2.10.2005, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



Так доброе время суток,!!!
Вот мы имеем
Код

<script language="javascript">

function AutoScroll()
{
window.scrollBy(0,50000);
}
function AutoRe()
{
setInterval("AutoScroll()", true);
}

</script>

Код

<body onLoad="AutoRe()">


Страница постоянно опускаеться в низ, поэтому если скролл потянуть вверх, ничего не выйдет, он возвращаеться в низ, А это не есть хорошо!!!!
Как с этим быть!!! т.е. чтоб я мог поднимать скролл, и он не возвращался вниз
PM MAIL   Вверх
Aliance
Дата 2.10.2005, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Глянь на второй аргумент функции setInterval()
PM MAIL WWW ICQ Skype   Вверх
Lyapko
Дата 2.10.2005, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



если я его уберу, то страница не будет скроллироваться вниз
PM MAIL   Вверх
sergejzr
Дата 2.10.2005, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Цитата(Lyapko @ 2.10.2005, 15:23)
Страница постоянно опускаеться в низ, поэтому если скролл потянуть вверх, ничего не выйдет, он возвращаеться в низ, А это не есть хорошо!!!!
Как с этим быть!!! т.е. чтоб я мог поднимать скролл, и он не возвращался вниз

Тебе надо его вниз опускать ТОЛЬКО если придёт новая мессага. Я бы модифицировал это дел так, что:

во фрейме, куда мессаги приходят генерится на сервере всегда элементик:
Код

<input type="hidden" value="XXXXX" id="message_indicator" /> 

где XXXXX - время возникновения последней мессаги

Твой код соответсвенно модифицировать:
Код

<script language="javascript">
window.lastMessageTime=-1;

function AutoScroll()
{
  
var indicator=document.getElementById('message_indicator').value;
  if(window.lastMessageTime<indicator)
  {
    window.scrollBy(0,50000);
    window.lastMessageTime=indicator;
  }
}
function AutoRe()
{
setInterval("AutoScroll()", true);
}
</script>



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Sardar
Дата 3.10.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



sergej.z второй аргумент функции setInterval это время в миллисекундах, на что Aliance уже указал smile

Также не красиво опрашивать по таймеру какое то значение, проще с приходом мессаги вызывать функцию скрола. Задача уже столько раз решалась в 30 строк, что стыдно не найти.


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



Я весь форум перерыл, и ни одного скрипта не нашёл, чтоб скроллировал в низ но при этом мышкой можно былобы спокойно передвигать ползунок!!!!

Помогите как быть smile
PM MAIL   Вверх
Aliance
Дата 4.10.2005, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Код

function scrollWindow() {
    window.scrollBy(0, 1);
}
function initScroll() {
    setInterval("scrollWindow()", 100);
}


Код

<body onload="initScroll()">


Может поспорим, что я его выкладывал на этом форуме в этом разделе?
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 4.10.2005, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Цитата(Lyapko @ 3.10.2005, 20:43)
но при этом мышкой можно былобы спокойно передвигать ползунок!!!!

Обычно скролинг включаеться при новых данных, страница скролиться до конца и скролинг отключаеться. Также скролинг отключаеться если пойманны события: onscroll(тут осторожней, себя не лови)), onmousedown, onkeydown(всякие PgUP и т.п).

Отключение скролинга это обнуление таймера: clearInterval(ссылка_на_твой_таймер);


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



Цитата
Может поспорим, что я его выкладывал на этом форуме в этом разделе?


Да я и спорить не буду, я видел это скрипт, если быть внимательнее я такой же скрипт привёл в пример!!!1

Но мне не это надо!!!! я хочу чтоб авто скрол отключался до последующего обновления страницы

М
 

Соизвольте сокращать цитаты


Это сообщение отредактировал(а) Aliance - 5.10.2005, 21:01
PM MAIL   Вверх
sergejzr
Дата 5.10.2005, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Дык отключай же по функции clearInterval();

Код

//Сажаешь так:
mytimer = setInterval("AutoScroll()", 100);
//Останавливаешь так:
clearInterval(mytimer);


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

window.scrollBy(0,50000);

Зачем тебе постоянно скролить вниз, зачем заморочки с таймерами? одного раза вполне достаточно!
Ну а если очень любишь таймеры, то я код там привёл.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Lyapko
Дата 6.10.2005, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 23.9.2005

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



Да точно и как я не догодался, что этот таймер мне всё .....(не буду выражаться)!!! Опять же большое спасибо тебе!!!!
PM MAIL   Вверх
R.M.
Дата 11.10.2005, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

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



Объясните пожалуста чем выше написанный скрипт отличается от одной строчки?
Код

<BODY onload="scrollBy(0, 65000);return false;">

Помоему ничем smile только вот как сделать чтобы скролл не прыгал при каждом обновлении?


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Sardar
Дата 11.10.2005, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Цитата
Объясните пожалуста чем выше написанный скрипт отличается от одной строчки?

Ставился таймер, в твоём примере таймера нет, страница проскролиться один раз после загрузки. Для этог извращаться не нужно, лучше использовать якоря.

Цитата
только вот как сделать чтобы скролл не прыгал при каждом обновлении?

Очевнидно убрать onload у body, когда прыгать не нужно smile


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


 




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


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

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