20.03.2016, 12:42
|
Интересующийся
|
|
Регистрация: 20.03.2016
Сообщений: 17
|
|
Удалить сообщение
Доброго дня всем, имеется такой вопрос. Есть вот такая вот функция, для отправки каких-нибудь сообщений пользователю.
function message(id, messageIcon, messageText, messageColor, messageAnim, animTime) {
var constr = null;
if (!isFree('elem2') && !isFree('elem3') && id != 3)
return;
if (id == 3) {
constr = 'elem1';
} else if (isFree('elem2')){
constr = 'elem2';
} else if (isFree('elem3')) {
constr = 'elem3';
}
$('#' + constr).html('<i class="fa fa-' + messageIcon + ' fa-3x fa-pull-left"></i>' + messageText + '<i id="close" class="fa fa-close fa-pull-right"></i>').fadeIn(1000);
document.getElementById(constr).onclick = function() {
removeMessage(constr);
}
}
Вопрос вот в чем, при клике на сообщение, мне необходимо его удалить (это реализовано) и больше не присылать. Сообщения шлю в таймере
setInterval(function() {
message(1, "gift", "test", "pink", false, 0);
message(2, "music", "test2", "violet", false, 0);
}, 10000)
Сообщение закрывается, но через 10 секунд опять приходит. Как можно сделать так, чтоб сообщение, которое было кликнуто, больше не приходило?
|
|
23.03.2016, 17:33
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
fear111,
Думаю надо почитать про функцию setInterval
|
|
24.03.2016, 13:00
|
Интересующийся
|
|
Регистрация: 20.03.2016
Сообщений: 17
|
|
Сообщение от AciDWarrioR
|
fear111,
Думаю надо почитать про функцию setInterval
|
Почитал, но всё равно нету идей, как остановить именно конкретное, кликнутое, сообщение. Для каждого сообщения, свой интервал, что ли? Не сильно жирно?
Последний раз редактировалось fear111, 24.03.2016 в 13:52.
|
|
24.03.2016, 14:23
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
fear111,
Я вообще не понимаю зачем вам интервал?! Это разовое действие, для чего здесь нужен таймер, который запускает функцию каждые n миллисекунд?
|
|
24.03.2016, 14:36
|
Интересующийся
|
|
Регистрация: 20.03.2016
Сообщений: 17
|
|
Сообщение от AciDWarrioR
|
fear111,
Я вообще не понимаю зачем вам интервал?! Это разовое действие, для чего здесь нужен таймер, который запускает функцию каждые n миллисекунд?
|
Объясняю, выводятся сообщения, если на какое-нибудь из них нажать, оно закрывается, НО, через n-ое кол-во времени они опять должы ВСЕ придти. Так понятнее задумка?
|
|
24.03.2016, 17:32
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
fear111,
Сообщение от fear111
|
Сообщение закрывается, но через 10 секунд опять приходит. Как можно сделать так, чтоб сообщение, которое было кликнуто, больше не приходило?
|
Сообщение от fear111
|
Объясняю, выводятся сообщения, если на какое-нибудь из них нажать, оно закрывается, НО, через n-ое кол-во времени они опять должы ВСЕ придти. Так понятнее задумка?
|
Непонятно, чего вы хотите. Одно противоречит другому
|
|
24.03.2016, 19:13
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
Сообщение от fear111
|
Объясняю, выводятся сообщения, если на какое-нибудь из них нажать, оно закрывается, НО, через n-ое кол-во времени они опять должы ВСЕ придти. Так понятнее задумка?
|
Вы вообще сами понимаете, что вы пишите?
Вы говорите, при нажатии должно закрыться и не приходить и следом опять должны все придти. В чем подвох?
|
|
24.03.2016, 20:54
|
Интересующийся
|
|
Регистрация: 20.03.2016
Сообщений: 17
|
|
Сообщение от AciDWarrioR
|
Вы вообще сами понимаете, что вы пишите?
Вы говорите, при нажатии должно закрыться и не приходить и следом опять должны все придти. В чем подвох?
|
Я то понимаю, видимо, объяснить нормально не могу. Попытаюсь ещё раз.
Объясняю, зачем мне интервал: у меня есть только 2 окошка под сообщения, но самих сообщений намного больше. Получается некая очередь, закрыл одно сообщение, на его место приходит другое. А у меня получается, что я закрываю и то же сообщение приходит опять, а должно быть следующее. Как то так.
|
|
25.03.2016, 14:46
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
fear111,
Ну тогда создайте подобие очереди.
Мое личное представление, создается DOM дерево с сообщениями, закрыли сообщение оно удалилось из дерево, а его место заняло сообщение, шедшее за ним, а если его надо возвращать, то добавляйте в самый конец дерева сообщений. Как-то так.
|
|
25.03.2016, 20:40
|
Интересующийся
|
|
Регистрация: 20.03.2016
Сообщений: 17
|
|
Спасибо за ответ, я реализовал через массив, чтоб удалить, просто обнуляю значение, а в самой отправке условие.
|
|
|
|