layui的全屏loading
时间: 2023-11-15 09:54:49 浏览: 74
您可以使用layui的`layer`模块来实现全屏loading效果。首先,您需要引入layui的相关文件,然后使用`layer.load()`函数来显示loading层,设置`shade: [0.6, '#fff']`来设置遮罩层样式,使其半透明,并且背景色为白色。最后,在需要隐藏loading层的地方调用`layer.closeAll('loading')`即可隐藏loading层。
以下是一个简单的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layui@2.6.8/dist/css/layui.css">
</head>
<body>
<!-- 其他内容 -->
<script src="https://cdn.jsdelivr.net/npm/layui@2.6.8/dist/layui.js"></script>
<script>
// 显示loading层
var loadingIndex = layer.load(0, {
shade: [0.6, '#fff']
});
// 模拟请求延迟
setTimeout(function() {
// 隐藏loading层
layer.closeAll('loading');
// 其他操作
}, 2000);
</script>
</body>
</html>
```
相关问题
自定义全屏loading
要自定义全屏loading,你可以按照以下步骤进行操作:
1. 创建一个HTML文件,并在其中添加一个全屏的loading元素。可以使用CSS样式来定义该元素的位置、大小和样式。例如:
```html
<!DOCTYPE html>
<html>
<head>
<style>
.loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000;
opacity: 0.7;
z-index: 9999;
display: flex;
justify-content: center;
align-items: center;
}
.loading-text {
color: #fff
html 全屏loading动画
可以使用CSS和JavaScript来创建一个全屏loading动画。
首先,在HTML文件中创建一个全屏的div元素,用于包含loading动画和遮罩层:
```html
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
```
然后,在CSS文件中定义这个div的样式,以及loading动画的样式:
```css
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #fff;
z-index: 9999;
}
#loader {
display: block;
position: absolute;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border: 16px solid #f3f3f3;
border-radius: 50%;
border-top: 16px solid #3498db;
animation: spin 2s linear infinite;
}
.loader-section {
position: absolute;
top: 0;
width: 50%;
height: 100%;
background: #fff;
z-index: 10;
}
.section-left {
left: 0;
}
.section-right {
right: 0;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
```
最后,在JavaScript文件中,使用以下代码控制loading动画的显示和隐藏:
```js
document.onreadystatechange = function () {
var state = document.readyState;
if (state == 'interactive') {
document.getElementById('loader-wrapper').style.visibility="visible";
} else if (state == 'complete') {
setTimeout(function(){
document.getElementById('loader-wrapper').style.visibility="hidden";
},1000);
}
}
```
这样,当页面加载中时,loading动画就会自动显示,当页面加载完成后,loading动画就会自动隐藏。