hookehuyr

首页新增全非点亮时显示放大镜效果

1 <!-- 1 <!--
2 * @Date: 2024-04-07 10:15:55 2 * @Date: 2024-04-07 10:15:55
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-04-15 10:05:02 4 + * @LastEditTime: 2024-04-15 11:33:30
5 * @FilePath: /fxPark/src/views/fxPark/index.vue 5 * @FilePath: /fxPark/src/views/fxPark/index.vue
6 * @Description: 首页 6 * @Description: 首页
7 --> 7 -->
...@@ -10,16 +10,16 @@ ...@@ -10,16 +10,16 @@
10 <danmaku :show="show_danmu" :text="add_text" /> 10 <danmaku :show="show_danmu" :text="add_text" />
11 <div class="quick-entrance-wrapper"> 11 <div class="quick-entrance-wrapper">
12 <div class="quick-entrance-item" @click="goToAudio"> 12 <div class="quick-entrance-item" @click="goToAudio">
13 - <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-1.1713137877.png" /> 13 + <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-1.1713148257.png" />
14 </div> 14 </div>
15 <div class="quick-entrance-item"> 15 <div class="quick-entrance-item">
16 - <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-2.1713137877.png" /> 16 + <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-2.1713148257.png" />
17 </div> 17 </div>
18 <div class="quick-entrance-item" @click="goToPoster"> 18 <div class="quick-entrance-item" @click="goToPoster">
19 - <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-3.1713137877.png" /> 19 + <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-3.1713148257.png" />
20 </div> 20 </div>
21 <div class="quick-entrance-item" @click="onCloseDanmu"> 21 <div class="quick-entrance-item" @click="onCloseDanmu">
22 - <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-4.1713137877.png" /> 22 + <van-icon size="3.5rem" name="https://cdn.ipadbiz.cn/xfPark/index/btn-4.1713148346.png" />
23 </div> 23 </div>
24 </div> 24 </div>
25 <div class="container" @click="onChipClick()"> 25 <div class="container" @click="onChipClick()">
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
31 :style="{ zIndex: index + 2 }" 31 :style="{ zIndex: index + 2 }"
32 > 32 >
33 <img src="https://cdn.ipadbiz.cn/xfPark/index/bg.1713145862.jpg" class="img" style="z-index: 1;"> 33 <img src="https://cdn.ipadbiz.cn/xfPark/index/bg.1713145862.jpg" class="img" style="z-index: 1;">
34 + <div v-if="all_no_light" id="magnifying-glass-box"></div>
34 </div> 35 </div>
35 36
36 <van-action-sheet v-model:show="show_danmu_message" title="留言" :round="false" :close-on-click-overlay="false" :closeable="false"> 37 <van-action-sheet v-model:show="show_danmu_message" title="留言" :round="false" :close-on-click-overlay="false" :closeable="false">
...@@ -110,6 +111,7 @@ const offset = ref({ x: -10, y: 500 }); ...@@ -110,6 +111,7 @@ const offset = ref({ x: -10, y: 500 });
110 111
111 const data_list = ref([]); 112 const data_list = ref([]);
112 const all_actived = ref(false); // 全部激活 113 const all_actived = ref(false); // 全部激活
114 +const all_no_light = ref(false); // 全部未激活
113 115
114 const space_height = ref('10vh'); // 第一次进入没有导航栏 116 const space_height = ref('10vh'); // 第一次进入没有导航栏
115 117
...@@ -122,6 +124,7 @@ onMounted(async () => { ...@@ -122,6 +124,7 @@ onMounted(async () => {
122 const { code, data } = await getTreeAPI(); 124 const { code, data } = await getTreeAPI();
123 if (code) { 125 if (code) {
124 let index = data.findIndex(item => item.is_tree === 0); // 全点亮标识 126 let index = data.findIndex(item => item.is_tree === 0); // 全点亮标识
127 + let light_index = data.findIndex(item => item.is_light === '1'); // 点亮标识
125 128
126 data_list.value = data.filter(item => item.is_tree === 1); // 获取植物信息,提出最后一个非植物。 129 data_list.value = data.filter(item => item.is_tree === 1); // 获取植物信息,提出最后一个非植物。
127 data_list.value.forEach(item => { 130 data_list.value.forEach(item => {
...@@ -131,6 +134,9 @@ onMounted(async () => { ...@@ -131,6 +134,9 @@ onMounted(async () => {
131 if (index !== -1) { // 全点亮 134 if (index !== -1) { // 全点亮
132 all_actived.value = true; 135 all_actived.value = true;
133 } 136 }
137 + if (light_index === -1) { // 全未点亮
138 + all_no_light.value = true;
139 + }
134 } 140 }
135 }); 141 });
136 142
...@@ -307,4 +313,43 @@ const onCloseDanmu = () => { // 弹幕开关 ...@@ -307,4 +313,43 @@ const onCloseDanmu = () => { // 弹幕开关
307 color: #ABABAB; 313 color: #ABABAB;
308 } 314 }
309 } 315 }
316 +
317 +.animate-container {
318 + position: absolute;
319 + top: 45%;
320 + overflow: hidden;
321 + width: 13rem;
322 + height: 6rem;
323 + z-index: 10;
324 +}
325 +
326 +#magnifying-glass-box{
327 + width:5rem;
328 + height:5rem;
329 + position: absolute;
330 + left:10px;
331 + top:45%;
332 + animation-name: rightMove, bottomMove;
333 + animation-duration: 8s;
334 + animation-iteration-count: infinite;
335 + background-image: url('https://cdn.ipadbiz.cn/xfPark/index/5b66ec87489f01b3501a76ad319p24mk24-imageonline.co-47829-1.png');
336 + background-size: 5rem;
337 + z-index: 10;
338 +}
339 +
340 +@keyframes rightMove{
341 + 50% {
342 + animation-timing-function: cubic-bezier(0.3, 0.27, 0.07, 1.64);
343 + left: 30%;
344 + }
345 +}
346 +
347 +@keyframes bottomMove{
348 + 50% {
349 + animation-timing-function: cubic-bezier(0.02, 0.01, 0.21, 1);
350 + top: 35%;
351 + }
352 +}
353 +
354 +
310 </style> 355 </style>
......