我正在建立一个具有加载页面的网站,该页面在加载时会显示一个简短的加载栏动画。但是,我发现只要单击该HTML页,就可以播放该文件。我只想在一个人第一次进入页面并刷新页面时显示加载动画!我可以设置一个jquery属性只播放一次加载动画吗?
到目前为止,这是我的代码。
jQuery
var width = 100,
perfData = window.performance.timing,
EstimatedTime = -(perfData.loadEventEnd - perfData.navigationStart),
time = parseInt((EstimatedTime/1000)%60)*100;
// Loadbar Animation
$(".loadbar").function() {
$(this).animate({
width: width + "%"
}, time);
setTimeout(function () {
$('.preloaderWrap').fadeOut(300);
}, time);
});
HTML
<section class="preloaderWrap">
<div class="percentage"></div>
<div class="loader">
<div class="trackbar">
<div class="loadbar"></div>
</div>
<div class="glow"></div>
</div>
</section>
CSS
.preloaderWrap {
width: 100%;
height: 100%;
position: fixed;
top: 0;
bottom: 0;
background: #000081;
z-index : 200;
}
.loader,.percentage{
height: 3px;
max-width: 200px;
border: none;
border-radius: 20px;
position: absolute;
top: -25%;
bottom: 0;
left: 0;
right: 0;
margin : auto;
}
.trackbar {
width: 100%;
height: 100%;
border-radius: 20px;
background-color: #525252;
text-align: center;
line-height: 3px;
overflow: hidden;
position: relative;
opacity: 0.99;
}
.loadbar {
width: 0%;
height: 100%;
background: #fff;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
您可以使用LocalStorage,否则它将设置为首次加载,然后跳过代码:
// Loadbar Animation
var storage = window.localStorage; //set localstorage object in storage var
if(storage.getItem("loading_bar_flag") == 1){
$('.preloaderWrap').hide();
}else{
$(".loadbar").animate({
width: width + "%"
}, time);
setTimeout(function () {
$('.preloaderWrap').fadeOut(300);
}, time);
storage.setItem("loading_bar_flag",1);
}