Files
mayfly-go/mayfly_go_web/src/common/utils/loading.ts

43 lines
1.3 KiB
TypeScript
Raw Normal View History

import { nextTick } from 'vue';
2023-09-23 22:52:05 +08:00
import '@/theme/loading.scss';
2023-09-23 22:52:05 +08:00
/**
* Loading
* @method start loading
* @method done loading
*/
export const NextLoading = {
// 创建 loading
start: () => {
2023-09-23 22:52:05 +08:00
const bodys: Element = document.body;
const div = <HTMLElement>document.createElement('div');
div.setAttribute('class', 'loading-next');
const htmls = `
<div class="loading-next-box">
2023-09-23 22:52:05 +08:00
<div class="loading-next-box-warp">
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
<div class="loading-next-box-item"></div>
</div>
</div>
`;
div.innerHTML = htmls;
bodys.insertBefore(div, bodys.childNodes[0]);
},
// 移除 loading
2023-09-23 22:52:05 +08:00
done: (time: number = 1000) => {
nextTick(() => {
setTimeout(() => {
2023-09-23 22:52:05 +08:00
const el = <HTMLElement>document.querySelector('.loading-next');
el?.parentNode?.removeChild(el);
}, time);
});
},
};