繁体   English   中英

永久隐藏div内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM