Задача.
Всплывающее затемнение организованно функцией
showPopup()
.
она работает безотказно. Делает плавное всплытие полупрозрачного черного экрана и дива с предупреждением.
Смысл сего действия в блокировке действий пользователя на время действия функции.
При загрузке документа стартует корявая функция с запросом ajax к php скрипту
который возвращает либо 1 либо 0. (Скрипт считывает из базы данных запиь и решает что возвращать.)
Эта функция при ответе 0 вызывает затемнение, иначе - не вызывает (глупо звучит, конечно) .
function getEnd(){
$.ajax({
url: 'generateOtvet.php',
type: "POST",
success: function(html){
if (html == 0) {
showPopup()
}
},
Error: function(){
alert("error");
},
cache: false
});
}
В чем собсно вопрос.
Чтобы эта канитель работала постоянно (дабы словить изменение в php скрипте), функция вызывается с помощью
$(document).ready(function(){
setInterval(getEnd, 1000);//и потом через каждую секунду.
});
В результате имеется замечательный
эффект дергающегося экрана.
А нужно, чтобы экран был все время, а только в случае изменений в базе пропадал.
Что предпринималось.
Пробовал делать так чтобы при старте полюбому загружался экран, а в случае возвращения php сриптом 1 он удалялся.
делал так:
В специальный блок втыкал html с запуском функции для затемнения.
var hide = "<script>$(document).ready(function(){showPopup();});</script>";
$("#specialDiv").html(hide);
а при получении 1 от пхп скрипта пытался убить эту же запись
var hide = "";
$("#specialDiv").html(hide);
, но не тут-то было. Ничего не удаляется.
И вот что интересно. Поэкспериментировав очень удивился. Оказывается запись типа
var hide = "Text1";
$("#specialDiv").html(hide);
[JS]var hide = "Text2";
$("#specialDiv").html(hide);
выводит в блоке div с id ="specialDiv" "Text2", а запись
var hide = "<script>$(document).ready(function(){showPopup();});</script>";
$("#specialDiv").html(hide);
var hide = "Text1";
$("#specialDiv").html(hide);
[JS]var hide = "Text2";
$("#specialDiv").html(hide);
Выводит в том же блоке "Text2" да к тому же еще и затемнение экрана.
не понятно.
В общем, из всего выше сказанного можно сделать вывод, что я в jquery как и в javascript полный ноль. Так оно и есть. Но несмотря на это, подскажите пожалуйста по существу. То что я ничего хорошего накодить не могу это мне известно. Просто, пожалуйста, помогите решить задачу. К тому же она довольно интересна.
Всем кто откликнется заранее спасибо.