当用户单击x时,关闭所有网站页面上的div

时间:2014-06-27 02:33:14

标签: javascript php css hide

当用户点击“x”关闭窗口时,我需要找到正确的代码,使div框在整个网站中消失。

作为我正在建设的新网站的一部分,我正在添加警报框,必要时会显示在所有网站页面上。想一想每个页面顶部显示的“新闻快讯”或“网站维护”提醒,以便它对所有网站访问者都很明显。

参见示例:

enter image description here

当用户点击x时,警告框应从当前页面消失,并且在此会话期间用户访问网站上的其他页面时不显示。

每个警报框都通过PHP include嵌入到每个页面的HTML中。

非常感谢任何帮助。我在这个网站和网站上其他地方找到解决方案的努力没有结果。感谢。

2 个答案:

答案 0 :(得分:0)

这是用于通过ID清除<div>的代码JAVASCRIPT:

document.getElementById('idName').innerHTML="";

例如:

<div id="toclose">This is a text</div>
<input type="button" value="Close" onClick='document.getElementById("toclose").innerHTML="";' />

对于所有会话,您应该使用ajax创建一个cookie,其中包含不再显示该消息的顺序。

Ajax的基本功能:

<script>function hiddiv(file) {

     var xhr = new XMLHttpRequest();
     xhr.open('GET', file);
     xhr.send(null);
}

用法(示例):

<input type="button" value="Close" onClick="hiddiv('hidediv.php?id=2');" />

对于PHP(hidediv.php):

<?php
if(isset($_GET['id']))
{
  setcookie("blocdivid".$_GET['id'], "1", time()+3600);
}
?>

}

答案 1 :(得分:0)

您可以使用jquery隐藏然后为当前会话通知cookie = yes。并在显示警告之前检查此cookie。

您知道如何创建通知,因此您可以使用this code在当前会话期间不显示

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i].trim();
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
}

function clearCook(){
    document.cookie="notified=";
}