我有以下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;
答案 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
动画之前检查变量。
参考:
答案 2 :(得分:-1)
使用javascript加载页面时可以隐藏div。 像
$(function(){
$("#load").hide();
});
答案 3 :(得分:-1)
我只能想到两种方法来实现这一目标。一种是在服务器上维护一个会话变量,以便知道该页面已被命中,并在第一次向页面传递一个变量,以便知道它应该使div可见。 或者两个,使用会话cookie来完成同样的事情。创建会话cookie并创建变量以指示用户在此会话期间已访问过该页面。