[英]Hide div content permanently
我希望当用户单击“提交”按钮时,内容消失( random text 3
),直到用户注销为止。 JS工作正常,但是,如果刷新页面,则会显示内容。 任何人都可以帮助我实现这一目标,或者任何人都可以将我的代码转换为PHP,以便我可以使用会话变量来实现这一目标吗?
<style type="text/css">
div.something{
/*random code;/*
}
</style>
<script type="text/javascript">
function hideSomething(){
document.getElementsByClassName("something")[2].style.display = "none";
}
</script>
<div class="something">random text 1</div>
<div class="something">random text 2</div>
<div class="something">random text 3</div><br />
<input type="submit" value="Disappear" onclick="hideSomething()" />
好吧,专业的方法是将其记录在Cookie上或使用诸如IP之类的用户信息存储在数据库中,或者您可以使用粗略的方法将其转发到另一页上没有该div的页面。喜欢,我将用样本填写我的答案
使用Cookie并在其中存储div的状态。 您可以使用javascript轻松读写cookie。 一个很好的教程可以在这里找到: http : //www.w3schools.com/js/js_cookies.asp 。
例如,在hideSomething()函数中,执行以下操作:
的document.cookie = “display_div =真”;
然后,在加载页面时,调用一个JavaScript函数,该函数根据cookie的值显示或隐藏div:
if(cookie_value ==“ true”)//隐藏div否则//显示div。 结束
因此,首先我们创建一个带有隐藏文本框的表单,一旦用户单击“ 关闭出勤 ”按钮,就会提交隐藏文本框的值并创建一个会话变量:
if(isset($_POST['hidden'])){
$_SESSION['closed'] = TRUE;
}
然后我们检查是否设置了会话,如果是,则显示出勤关闭,如果不是,则显示内容。
<?php if(isset($_SESSION['closed'])){
echo "attendance closed.";
}
else {
echo "<form name='test' action='attendance.php' method='post'>
<input type='hidden' name='hidden'/>
<button> Close Attendance </button>
</form>";
}
?>
尝试以下代码,它应该使您对如何执行操作有一个清晰的了解。
<!DOCTYPE html>
<html>
<head>
<title>ZUUS: Ironman</title>
</head>
<script type="text/javascript">
function hideSomething()
{
document.cookie="hide_div=true";
myFunction();
}
function myFunction()
{
var cookie_value = getCookie("hide_div");
alert(cookie_value);
if(cookie_value == "true")
document.getElementById("test_div").style.display = "none";
}
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 "";
}
</script>
<body onload="myFunction();">
<div id="test_div" style="background-color: blue;" onclick="hideSomething();">
this is a test
</div>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.