刷新页面后如何保持隐藏div?

时间:2017-03-15 11:49:41

标签: javascript jquery css

我有以下div称为" load"。我想在刷新网站时将其隐藏起来。但是,每次登陆页面时都应显示此div(第一次或不是第一次)。

有可能吗?怎么样?

由于



document.onreadystatechange = function() {
  var state = document.readyState
  if (state == 'complete') {
    setTimeout(function() {
      document.getElementById('interactive');
      document.getElementById('load').style.visibility = "hidden";
    }, 2500);
  }
}

#load {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 2000;
  background-color: #29d4e6;
  top: 0;
  -webkit-animation-delay: 2.3s;
  -moz-animation-delay: 2.3s;
  -o-animation-delay: 2.3s;
  animation-delay: 2.3s;
}

<html>

<head>
  <link href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css" rel="stylesheet">
</head>

<body>
  <div class="animated fadeOut" id="load"></div>
  <div> Hello there! </div>
</body>

</html>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:0)

在浏览器中使用onbeforeunload事件检测刷新按钮,使用localStorage存储刷新状态

document.onreadystatechange = function() {
  var state = document.readyState
  if (state == 'complete') {
    setTimeout(function() {
      document.getElementById('interactive');
      document.getElementById('load').style.visibility = "hidden";

    }, 2500);
<!-- this will hide the #load when you refresh the page --!>

window.onbeforeunload = refresh;

function refresh()
{           
localStorage.refresh=1;
}

if(localStorage.refresh==1)
{
document.getElementById('load').style.visibility = "hidden";
localStorage.refresh=0;
}


}

无论是否第一次登陆页面,都会显示div,但如果刷新页面则不会显示。

答案 1 :(得分:0)

设置sessionStorage变量。 sessionStorage变量仅存储在浏览会话中,如果页面刷新,则不会重置,除非您愿意重置它们。

 var i;
 if(state == 'complete') {
     setTimeout(function() {
         document.getElementById('interactive');
         document.getElementById('load').style.visibility = "hidden";
     }, 2500);
     sessionStorage.setItem('i','true');
 }

然后使用,

 var s = sessionStorage.getItem('i');

获取值并检查它是否设置为true或指定值。在调用load动画之前检查变量。

参考:

How to get JS variable to retain value after page refresh?

Global Variable usage on page reload

答案 2 :(得分:-1)

使用javascript加载页面时可以隐藏div。 像

$(function(){
    $("#load").hide();

});

答案 3 :(得分:-1)

我只能想到两种方法来实现这一目标。一种是在服务器上维护一个会话变量,以便知道该页面已被命中,并在第一次向页面传递一个变量,以便知道它应该使div可见。 或者两个,使用会话cookie来完成同样的事情。创建会话cookie并创建变量以指示用户在此会话期间已访问过该页面。