html新建通用loading,漂亮实用的页面loading(加载)封装代码

本文介绍了一款基于HTML、CSS及JavaScript实现的实用页面加载动画封装代码。该代码提供了一种简单的方法来显示或隐藏加载动画,并附带了缓冲进度条样式和动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要做一个异步登录,打算给用户做一点提示,所以就网上找了点代码,自己修改新增了一些,做了一个html+css+js的功能封装,以备未来直接使用。

html

css

/*缓冲提示条 start*/

.buffer{

background-color: black;

height: 120px;

width: 60%;

margin: auto;

filter: alpha(Opacity=60);

-moz-opacity: 0.6;

opacity: 0.85;

border-radius: 7px;

}

.buffer_tip{

color: wheat;

font-size: 20px;

display: block;

padding-top: 15px;

}

.spinner {

margin: -190% auto;

height: 60px;

text-align: center;

font-size: 10px;

}

.spinner > div {

background-color: #67CF22;

height: 100%;

width: 6px;

display: inline-block;

-webkit-animation: stretchdelay 1.2s infinite ease-in-out;

animation: stretchdelay 1.2s infinite ease-in-out;

}

.spinner .rect2 {

-webkit-animation-delay: -1.1s;

animation-delay: -1.1s;

}

.spinner .rect3 {

-webkit-animation-delay: -1.0s;

animation-delay: -1.0s;

}

.spinner .rect4 {

-webkit-animation-delay: -0.9s;

animation-delay: -0.9s;

}

.spinner .rect5 {

-webkit-animation-delay: -0.8s;

animation-delay: -0.8s;

}

@-webkit-keyframes stretchdelay {

0%, 40%, 100% { -webkit-transform: scaleY(0.4) }

20% { -webkit-transform: scaleY(1.0) }

}

@keyframes stretchdelay {

0%, 40%, 100% {

transform: scaleY(0.4);

-webkit-transform: scaleY(0.4);

} 20% {

transform: scaleY(1.0);

-webkit-transform: scaleY(1.0);

}

}

/*缓冲提示条 end*/

js

/*缓冲进度条 start*/

/**

* 显示loading(加载)动画

* @param {[type]} tip_text [提示的文字]

* @return {[type]} [description]

*/

function buffer_tip_show(tip_text){

$("#buffer_tip").html(tip_text ? tip_text : '请稍等');

$("#buffer").removeClass("hidden");

}

/**

* 不显示loading(加载)动画

* @return {[type]} [description]

*/

function buffer_tip_hidden(){

$("#buffer").addClass("hidden");

}

/*缓冲进度条 end*/

如果要显示或者不显示动画,直接调用js函数就可以啦

// 显示

buffer_tip_show('正在努力加载中');

// 不显示

buffer_tip_hidden();

动画效果无法截图额,将就看下

以上所述是小编给大家介绍的漂亮实用的页面loading(加载)封装代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

### UniApp 中的通讯封装 在构建基于 UniApp 的应用时,良好的网络通信模块对于提高代码可维护性和重用性至关重要。通过创建统一的 HTTP 请求工具类来管理 API 调用可以简化项目中的数据获取逻辑。 #### 创建 `http.js` 工具文件 为了实现更灵活且易于扩展的功能,在项目的根目录下新建名为 `common/api/http.js` 文件用于定义全局性的请求配置: ```javascript // common/api/http.js import axios from 'axios'; import { baseURL } from '@/config'; // 假设已有一个 config 配置项存储服务器地址等信息 const service = axios.create({ timeout: 5000, // 设置超时时长 headers: { "Content-Type": "application/json" }, }); service.interceptors.request.use( (config) => { const token = uni.getStorageSync('token'); // 获取本地缓存 Token if (token) { config.headers['Authorization'] = `Bearer ${token}`; } return config; }, error => Promise.reject(error)); export default function request(options){ let loadingInstance; options.method = options.method || 'get'; if (!options.loadingHidden && typeof options.loading === 'undefined') { loadingInstance = uni.showLoading({ title: '加载中...' }); } return new Promise((resolve, reject)=>{ service({...options}) .then(response=>{ setTimeout(() => { resolve(response.data); if(loadingInstance !== undefined){uni.hideLoading()} }, 800); // 模拟延迟关闭 Loading 效果 }) .catch(err=>{reject(err)}) }); } ``` 此部分实现了对 Axios 库的基础设置以及拦截器功能[^1]。每当发送请求前会自动附加认证令牌至头部字段;同时支持显示/隐藏等待提示框操作。 #### 定义接口方法 接着可以在同一级目录内继续建立具体业务的服务层文件夹并编写相应函数调用上述通用组件完成特定场景下的资源拉取工作: ```javascript // common/api/user.js import request from './http'; function login(params){ return request({ url:'/api/login', method:'post', data:params, loading:true }); } function getUserInfo(){ return request({ url:`/api/me`, method:"GET", loading:false }); } export default{ login, getUserInfo }; ``` 这里展示了两个简单的例子——登录验证与个人信息查询,它们都依赖于之前提到过的自定义 `request()` 函数来进行实际的数据交换过程[^2]。 #### 使用服务实例 最后一步就是在页面或其他地方引入这些预先准备好的 API 接口以便随时调用了: ```vue <template> <!-- 组件模板 --> </template> <script setup lang="ts"> import userService from "@/common/api/user"; async function handleLogin() { try { await userService.login({ username: 'test', password: 'password' }); console.log("登陆成功"); } catch (error) { console.error("登陆失败", error); } } </script> ``` 以上就是关于如何在 UniApp 开发环境中搭建一套高效稳定的 HTTP 请求框架的大致流程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值