Skip to content

Commit 6e6057f

Browse files
committed
style(site-count): optimize site count experience
1 parent 8479077 commit 6e6057f

File tree

2 files changed

+29
-10
lines changed

2 files changed

+29
-10
lines changed

src/components/header-content/header-content.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,8 @@
88
<div class="title">PicX</div>
99
</div>
1010
<div class="website-count" @click="goGitHubRepo">
11-
<el-tooltip
12-
content="前往 GitHub 点 Star 支持一下作者(* ̄︶ ̄)"
13-
placement="bottom"
14-
>
15-
<i class=""> 有 <site-count :isuv="false" /> 位小伙伴使用 PicX 图床神器 </i>
11+
<el-tooltip content="感觉好用,点 Star 支持作者(* ̄︶ ̄)" placement="bottom">
12+
<site-count :isuv="false" />
1613
</el-tooltip>
1714
</div>
1815
</div>

src/components/site-count/site-count.vue

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
<template>
2-
<span class="site-count" ref="siteCountDom">
3-
<span id="busuanzi_value_site_uv" v-if="isuv"></span>
4-
<span id="busuanzi_value_site_pv" v-if="!isuv"></span>
2+
<span class="site-count" ref="siteCountDom" v-show="isShow">
3+
累计
4+
<span id="busuanzi_value_site_uv" class="uv" v-show="isuv"></span>
5+
<span id="busuanzi_value_site_pv" class="pv" v-show="!isuv"></span>
6+
访问次数
57
</span>
68
</template>
79

@@ -18,19 +20,39 @@ export default defineComponent({
1820
}
1921
},
2022
21-
setup() {
23+
setup(props, ctx) {
2224
const siteCountDom: Ref = ref<null | HTMLElement>(null)
25+
const isShow: Ref<boolean> = ref(false)
26+
27+
const getInnerText = (dom, isuv) => {
28+
return dom.querySelector(`.${isuv ? 'u' : 'p'}v`).innerText
29+
}
2330
2431
onMounted(() => {
2532
const script: any = document.createElement('script')
2633
script.async = true
2734
script.src = '//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js'
2835
siteCountDom.value.appendChild(script)
36+
37+
script.onload = () => {
38+
const tempT = setTimeout(() => {
39+
if (getInnerText(siteCountDom.value, props.isuv)) {
40+
isShow.value = true
41+
}
42+
clearTimeout(tempT)
43+
}, 1500)
44+
}
2945
})
3046
3147
return {
32-
siteCountDom
48+
siteCountDom,
49+
isShow
3350
}
3451
}
3552
})
3653
</script>
54+
<style lang="stylus">
55+
.site-count {
56+
transition all 0.2s ease-in
57+
}
58+
</style>

0 commit comments

Comments
 (0)