我有此脚本可在页面加载时显示弹出窗口:
$(function ()
{
var overlay = $('<div id="overlay"></div>');
overlay.show();
overlay.appendTo(document.body);
$('.popup').show();
$('.close').click(function ()
{
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});
$('.x').click(function ()
{
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});
});
它工作正常。现在,如果用户已经看到此页面,我被要求隐藏弹出窗口,因此我已附加到上面的代码
function hidePopup()
{
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
}
但是当我从PHP脚本中调用它时,它不会显示弹出窗口,但是覆盖层仍然存在。
PHP代码如下:
session_start();
if (!isset($_SESSION['seenPopup']))
{
echo "<div class='popup'>
<div class='cnt223'>
<img src='./images/close.ico' alt='quit' class='x' id='x' />
<div class='divScrollabile'>
<p><h3>
POPUP TEXT HERE
<a href='' class='close'>Chiudi</a>
</p>
</div>
</div>
</div>";
$_SESSION['seenPopup'] = true;
}
else
{
echo "<script type=\"text/javascript\">
hidePopup();
</script>";
}
答案 0 :(得分:1)
您在overlay
函数中没有hidePopup
,因此将代码更改为此或类似的内容:
function hidePopup()
{
var overlay = $("#overlay");
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
}