After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 1.8 KiB |
@ -0,0 +1,114 @@
@@ -0,0 +1,114 @@
|
||||
<template> |
||||
<div class="drop-down-menu-wrapper"> |
||||
<div class="content-top"> |
||||
<!-- 功能容器 --> |
||||
<div |
||||
class="func-wrapper" |
||||
v-for="i in funcList" |
||||
:key="i" |
||||
> |
||||
<img :src="i.img" class="func-img" width="100%"> |
||||
<span class="func-text">{{ i.text }}</span> |
||||
</div> |
||||
</div> |
||||
<div class="content-btm" @click="pullUp()"> |
||||
<img src="@/assets/imgs/drop-down-menu/retract@2x.png" width="100%"> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang="ts" setup> |
||||
import {ref, onMounted} from 'vue'; |
||||
|
||||
const funcList = ref<any[]>([]); |
||||
const emit = defineEmits(['pullUp']) |
||||
|
||||
onMounted(() => { |
||||
funcList.value = [ |
||||
{ |
||||
img: '/src/assets/imgs/drop-down-menu/func-xiping@2x.png', |
||||
text: '息屏' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-tongsuo@2x.png', |
||||
text: '童锁' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-jiankang@2x.png', |
||||
text: '健康' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-ziqingjie@2x.png', |
||||
text: '自清洁' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-gaowenshajun@2x.png', |
||||
text: '高温除菌' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-shuju@2x.png', |
||||
text: '数据中心' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-jieneng@2x.png', |
||||
text: '节能' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-set@2x.png', |
||||
text: '设置' |
||||
}, { |
||||
img: '/src/assets/imgs/drop-down-menu/func-zhenduan@2x.png', |
||||
text: '智慧健康诊断' |
||||
}, |
||||
]; |
||||
}) |
||||
|
||||
/** 窗口上弹事件 */ |
||||
const pullUp = () => { |
||||
emit('pullUp'); |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.drop-down-menu-wrapper { |
||||
width: 100vw; |
||||
height: 100vh; |
||||
background-color: #0A101A; |
||||
overflow: hidden; |
||||
|
||||
.content-top { |
||||
padding: 19px 24px; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
flex-wrap: wrap; |
||||
|
||||
.func-wrapper { |
||||
width: 210px; |
||||
height: 200px; |
||||
border-radius: 16px; |
||||
display: flex; |
||||
flex-direction: column; |
||||
justify-content: center; |
||||
align-items: center; |
||||
margin: 5px 0; |
||||
background: #20252E; |
||||
|
||||
.func-img { |
||||
width: 66px; |
||||
height: 66px; |
||||
} |
||||
|
||||
.func-text { |
||||
font-size: 28px; |
||||
color: #FFF; |
||||
font-family: SourceHanSansCN-Regular, SourceHanSansCN; |
||||
font-weight: 400; |
||||
margin-top: 42px; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.content-btm { |
||||
width: 100vw; |
||||
text-align: center; |
||||
padding-bottom: 6px; |
||||
|
||||
img { |
||||
width: 142px; |
||||
} |
||||
} |
||||
} |
||||
</style> |
@ -1,12 +1,63 @@
@@ -1,12 +1,63 @@
|
||||
<template> |
||||
<div id="home-screen-wrapper"></div> |
||||
<div id="home-screen-wrapper"> |
||||
<div class="ceshi"> |
||||
<img id="imgs" src="" width="100%"> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang="ts" setup></script> |
||||
<script lang="ts" setup> |
||||
import { time } from 'console'; |
||||
import { ref, onMounted } from 'vue'; |
||||
|
||||
const aniImgs: any = ref([]); |
||||
const timer: any = ref(); |
||||
const imgs: any = ref(); |
||||
const index = ref(0) |
||||
|
||||
onMounted(() => { |
||||
imgs.value = document.getElementById('imgs'); |
||||
// for (let i = 0; i <= 79; i++) { |
||||
// aniImgs.value.push(`/src/assets/imgs/home-screen/切图-关机时循环_000${i < 10? '0' + i: i}`); |
||||
// } |
||||
run(); |
||||
console.log(aniImgs.value); |
||||
}) |
||||
|
||||
const run = () => { |
||||
// 清除定时器 |
||||
if (timer.value) { |
||||
clearInterval(timer.value); |
||||
timer.value = null; |
||||
} |
||||
change(); |
||||
timer.value = setInterval(() => { |
||||
index.value++; |
||||
if (index.value > 79) { |
||||
index.value = 0; |
||||
} |
||||
change(); |
||||
}, 1000 / 24); |
||||
} |
||||
|
||||
const change = () => { |
||||
if (imgs.value) { |
||||
imgs.value.src = `/src/assets/imgs/home-screen/切图-关机时循环_000${index.value < 10? '0' + index.value: index.value}.png`; |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
#home-screen-wrapper { |
||||
width: 1500px; |
||||
height: 1500px; |
||||
width: 100vh; |
||||
height: 100vh; |
||||
background: rgb(15, 188, 102); |
||||
|
||||
.ceshi { |
||||
width: 100vw; |
||||
} |
||||
|
||||
#imgs { |
||||
width: 100%; |
||||
} |
||||
}</style> |