razo
Мастер
Дата регистрации:
22.04.2011 18:51:08
Сообщений: 176
<input type='submit' onclick='set()' name='1'>
<input type='submit' onclick='set()' name='2'>
function set(){
window.setInterval(function(){$('#div').load("aa.php"
;});
}
есть две кнопки и во время нажатия на кнопок активируется одно и тоже функция, надо чтобы во время нажатия на второй кнопка первый INTERVAL остановилось и второй запускалось
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Надо передать параметр this.name в эту функцию. А далее, проверяя полученное значение (1 или 2), вызвать один интервал и остановить другой. Примерно так:
var timer_1 = null;
var timer_2 = null;
function set(name) {
if (name == 1) {
if (timer_2 != null) clearInterval(timer_2);
setInterval(...);
}
if (name == 2) {
if (timer_1 != null) clearInterval(timer_1);
setInterval(...);
}
}
razo
Мастер
Дата регистрации:
22.04.2011 18:51:08
Сообщений: 176
а если там 100 человек как создать етот цикл?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Где Вы здесь увидели цикл? И причём тут 100 человек? Скрипт выполняется у каждого человека на его компьютере (JavaScript - это клиентский язык, а не серверный).
razo
Мастер
Дата регистрации:
22.04.2011 18:51:08
Сообщений: 176
у каждого человека есть друзья он нажмет на друга и читает его переписка и етот момент обновляется переписка чтобы когда друг написал сообщение у него ето появилось потом нажмет на другого человека и читает его переписка но интервал прежнего друга не отменилось и стало 2 интервала и так далее, вот по етому говорю если есть несколько друзей как ето делать?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Никаких двух интервалов не станет. У каждого по-прежнему будет 1 интервал. Это как обычный чат. У каждого пользователя обновляется через заданный промежуток времени фрейм. Неважно, хоть их 100, хоть их 1000, и хоть каждый пишет по 100 сообщений в секунду.
Думаю, тема закрыта.
razo
Мастер
Дата регистрации:
22.04.2011 18:51:08
Сообщений: 176
не вы не поняли мой вопрос
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Тогда поясните.
razo
Мастер
Дата регистрации:
22.04.2011 18:51:08
Сообщений: 176
вот вайдите все поймете http://141.136.92.230/?star=start
login
[email protected]
pass aaaaaa
в верхном правом углу рядом иконка золота есть иконка почты нажайте на него потом выберите первого пользователя потом второго и ждите 5 сек
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Я ждал намного больше 5 секунд, но ничего не произошло.