Есть задача, выводить сообщение об изменениях на сайте пользователям. Это уведомление должно отрабатывать по событию ajaxStop jQuery.
var activation;
var custom_title;
var custom_content;
var custom_btn_close;
var custom_btn_no_more;
var display_counter; //times
var cookie_timeout_more; //days
var cookie_timeout_count; //days
/* --!Custom value -- */
$.ajax({
url: "../../nct-includes/nct-functions/nct-action_notification_massage.php",
success: function(data) {
var res = JSON.parse(data);
activation = parseInt(res.NOTI_ENABLE);
custom_title = res.NOTI_TITLE;
custom_content = res.NOTI_CONTENT;
custom_btn_close = res.NOTI_CLOSE;
custom_btn_no_more = res.NOTI_NOMORE;
display_counter = parseInt(res.NOTI_COUNT);
cookie_timeout_more = parseInt(res.NOTI_COOKIE_NOMORE);
cookie_timeout_count = parseInt(res.NOTI_COOKIE_COUNT);
},
});
$(document).ajaxStop(function() {
if (activation !== 0 && parseInt($.cookie("count_view")) <= display_counter) {
$.notiModal.init("attention_modal", {
title: custom_title,
top: 50,
'close': custom_btn_close,
'no_more': custom_btn_no_more,
max_width: 1000,
content: custom_content,
// ok callback
// onOkClick: function(noti_modal) {
// noti_modal.hide()
// $.notiModal.get("attention_modal").show();
// }
}).show();
}
});
$(document).ajaxStop(function() {
if (activation !== 0) {
if ($.cookie("count_view") == null && !$.cookie("count_view")) {
$.cookie("count_view", 1, {
expires: cookie_timeout_count,
path: location.host,
});
console.log("done");
$.notiModal.get("attention_modal").show();
} else {
var countor = parseInt($.cookie("count_view"));
var view_modal = parseInt($.cookie("class_noMore"));
if (countor <= display_counter && view_modal != 1) {
console.log(countor);
$.notiModal.get("attention_modal").show();
countor = countor + 1;
$.cookie("count_view", countor);
}
}
}
});
$(document).ajaxStop(function() {
$("button[data-role='no_more']").on("click", function() {
$("button[data-role='no_more']").addClass('no-more');
if ($.cookie("class_noMore") == null) {
$.cookie('class_noMore', 1, {
expires: cookie_timeout_more,
path: '/',
});
}
});
});
Причина по которой три блока обернуты в один и тот же обработчик проста, только так оно отрабатывает правильно. В Chrome, Mozilla работает все нормально.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости