当用户点击“x”关闭窗口时,我需要找到正确的代码,使div框在整个网站中消失。
作为我正在建设的新网站的一部分,我正在添加警报框,必要时会显示在所有网站页面上。想一想每个页面顶部显示的“新闻快讯”或“网站维护”提醒,以便它对所有网站访问者都很明显。
参见示例:
当用户点击x时,警告框应从当前页面消失,并且在此会话期间用户访问网站上的其他页面时不显示。
每个警报框都通过PHP include嵌入到每个页面的HTML中。
非常感谢任何帮助。我在这个网站和网站上其他地方找到解决方案的努力没有结果。感谢。
答案 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=";
}