style: 添加tags弹出动画

This commit is contained in:
xiaoxian521 2021-08-02 12:57:57 +08:00
parent c260f88e38
commit 74ef4e1722
6 changed files with 28 additions and 19 deletions

View File

@ -4,7 +4,6 @@
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
<link rel="stylesheet" href="/iconfont.css" /> <link rel="stylesheet" href="/iconfont.css" />
<link rel="stylesheet" href="/animate.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>后台管理系统</title> <title>后台管理系统</title>
<script src="https://cdn.bootcdn.net/ajax/libs/Sortable/1.13.0/Sortable.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/Sortable/1.13.0/Sortable.js"></script>

11
package-lock.json generated
View File

@ -11,6 +11,7 @@
"@logicflow/core": "^0.4.6", "@logicflow/core": "^0.4.6",
"@logicflow/extension": "^0.4.6", "@logicflow/extension": "^0.4.6",
"@vueuse/core": "^5.0.3", "@vueuse/core": "^5.0.3",
"animate.css": "^4.1.1",
"await-to-js": "^3.0.0", "await-to-js": "^3.0.0",
"axios": "^0.21.1", "axios": "^0.21.1",
"cropperjs": "^1.5.11", "cropperjs": "^1.5.11",
@ -1402,6 +1403,11 @@
"url": "https://github.com/sponsors/epoberezkin" "url": "https://github.com/sponsors/epoberezkin"
} }
}, },
"node_modules/animate.css": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz",
"integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ=="
},
"node_modules/ansi-colors": { "node_modules/ansi-colors": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@ -6642,6 +6648,11 @@
"uri-js": "^4.2.2" "uri-js": "^4.2.2"
} }
}, },
"animate.css": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz",
"integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ=="
},
"ansi-colors": { "ansi-colors": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",

View File

@ -22,6 +22,7 @@
"@logicflow/core": "^0.4.6", "@logicflow/core": "^0.4.6",
"@logicflow/extension": "^0.4.6", "@logicflow/extension": "^0.4.6",
"@vueuse/core": "^5.0.3", "@vueuse/core": "^5.0.3",
"animate.css": "^4.1.1",
"await-to-js": "^3.0.0", "await-to-js": "^3.0.0",
"axios": "^0.21.1", "axios": "^0.21.1",
"cropperjs": "^1.5.11", "cropperjs": "^1.5.11",

11
public/animate.css vendored

File diff suppressed because one or more lines are too long

View File

@ -34,7 +34,7 @@
<ul <ul
v-show="visible" v-show="visible"
:style="{ left: buttonLeft + 'px', top: buttonTop + 'px' }" :style="{ left: buttonLeft + 'px', top: buttonTop + 'px' }"
class="contextmenu" class="contextmenu animate__animated animate__flipInX"
> >
<div <div
v-for="(item, key) in tagsViews" v-for="(item, key) in tagsViews"
@ -70,8 +70,9 @@
:divided="item.divided" :divided="item.divided"
:disabled="item.disabled" :disabled="item.disabled"
@click="onClickDrop(key, item)" @click="onClickDrop(key, item)"
>{{ item.text }}</el-dropdown-item
> >
{{ item.text }}
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
@ -306,7 +307,12 @@ export default {
onClickDrop(key, {}, currentSelect.value); onClickDrop(key, {}, currentSelect.value);
} }
function closeMenu() {
visible.value = false;
}
function openMenu(tag, e) { function openMenu(tag, e) {
closeMenu();
if (tag.path === "/welcome") { if (tag.path === "/welcome") {
// //
Array.from([1, 2, 3]).forEach(v => { Array.from([1, 2, 3]).forEach(v => {
@ -343,11 +349,11 @@ export default {
buttonLeft.value = left; buttonLeft.value = left;
} }
buttonTop.value = e.clientY; buttonTop.value = e.clientY;
visible.value = true; nextTick(() => {
} setTimeout(() => {
visible.value = true;
function closeMenu() { }, 50);
visible.value = false; });
} }
// //
@ -515,6 +521,8 @@ export default {
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
color: #333; color: #333;
outline: 0;
box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
li { li {
width: 100%; width: 100%;
margin: 0; margin: 0;

View File

@ -12,6 +12,7 @@ import "./style/index.scss";
// 导入字体图标 // 导入字体图标
import "./assets/iconfont/iconfont.js"; import "./assets/iconfont/iconfont.js";
import "./assets/iconfont/iconfont.css"; import "./assets/iconfont/iconfont.css";
import "animate.css";
import "v-contextmenu/dist/themes/default.css"; import "v-contextmenu/dist/themes/default.css";