Yansen пре 2 година
родитељ
комит
ff147a6786
3 измењених фајлова са 92 додато и 76 уклоњено
  1. 84
    0
      src/pages/loading/LoadingTxt.vue
  2. 6
    74
      src/pages/loading/index.vue
  3. 2
    2
      src/pages/pg1/InMap.vue

+ 84
- 0
src/pages/loading/LoadingTxt.vue Прегледај датотеку

@@ -0,0 +1,84 @@
1
+<template>
2
+  <div class="loading-txt-wrapper">
3
+    <div class="loading-text">
4
+      <span class="txt-shine">L</span>
5
+      <span class="txt-shine">o</span>
6
+      <span class="txt-shine">a</span>
7
+      <span class="txt-shine">d</span>
8
+      <span class="txt-shine">i</span>
9
+      <span class="txt-shine">n</span>
10
+      <span class="txt-shine">g</span>
11
+      <span class="txt-shine">..</span>
12
+    </div>
13
+  </div>
14
+</template>
15
+
16
+<script setup>
17
+
18
+</script>
19
+
20
+<style lang="less" scoped>
21
+.loading-txt-wrapper {
22
+  
23
+  .loading-text {
24
+    margin-left: 24px;
25
+    flex: none;
26
+    display: inline-block;
27
+    font-size: 24px;
28
+
29
+    span {
30
+      display: inline-block;
31
+      padding: 0 2px;
32
+      color: #434444;
33
+      opacity: 1;
34
+
35
+      &:nth-child(1) {
36
+        transform: rotate(-10deg);
37
+        animation-delay: 0;
38
+      }
39
+      &:nth-child(2) {
40
+        transform: rotate(-5deg) translateY(-2px);
41
+        animation-delay: 600ms;
42
+      }
43
+      &:nth-child(3) {
44
+        transform: rotate(5deg) translateY(-2px);
45
+        animation-delay: 1200ms;
46
+      }
47
+      &:nth-child(4) {
48
+        transform: rotate(10deg);
49
+        animation-delay: 1800ms;
50
+      }
51
+      &:nth-child(5) {
52
+        transform: rotate(5deg) translateY(2px);
53
+        animation-delay: 2400ms;
54
+      }
55
+      &:nth-child(6) {
56
+        transform: rotate(0) translateY(2px);
57
+        animation-delay: 3000ms;
58
+      }
59
+      &:nth-child(7) {
60
+        transform: rotate(-10deg) translateY(2px);
61
+        animation-delay: 3600ms;
62
+      }
63
+      &:nth-child(8) {
64
+        transform: rotate(-10deg) translateY(2px);
65
+        animation-delay: 4200ms;
66
+      }
67
+    }
68
+
69
+    .txt-shine {
70
+      // animation: txt-shine 1.2s ease-in-out infinite alternate;
71
+    }
72
+
73
+    @keyframes txt-shine {
74
+      from {
75
+        opacity: 0;
76
+      }
77
+      to {
78
+        opacity: 1;
79
+      }
80
+    }
81
+
82
+  }
83
+}
84
+</style>

+ 6
- 74
src/pages/loading/index.vue Прегледај датотеку

@@ -9,17 +9,8 @@
9 9
           <div class="img-cover">
10 10
           </div>
11 11
         </div>
12
-        <div class="txt loading-text">
13
-          <div>
14
-            <span class="txt-shine">L</span>
15
-            <span class="txt-shine">o</span>
16
-            <span class="txt-shine">a</span>
17
-            <span class="txt-shine">d</span>
18
-            <span class="txt-shine">i</span>
19
-            <span class="txt-shine">n</span>
20
-            <span class="txt-shine">g</span>
21
-            <span class="txt-shine">..</span>
22
-          </div>
12
+        <div class="txt">
13
+          <LoadingTxt />
23 14
           <div>{{percent}}</div>
24 15
         </div>
25 16
       </div>
@@ -35,6 +26,7 @@
35 26
   import { computed, onMounted, ref } from 'vue';
36 27
   import Bell from '@/components/Bell.vue';
37 28
   import DownArrow from '@/components/DownArrow.vue';
29
+  import LoadingTxt from './LoadingTxt.vue';
38 30
   import { preload } from '@/utils/preload';
39 31
   import throttle from '@/utils/throttle';
40 32
 
@@ -44,9 +36,8 @@
44 36
   const finished = ref(false);
45 37
 
46 38
   const onClick = () => {
47
-    // if (!finished.value) return;
48
-
49
-    // emit('ready');
39
+    if (!finished.value) return;
40
+    emit('ready');
50 41
   }
51 42
 
52 43
   const callback = (val) => {
@@ -57,6 +48,7 @@
57 48
 
58 49
   onMounted(() => {
59 50
     preload(throttle(callback, 100)).then(() => {
51
+      percent.value = `${100}%`
60 52
       finished.value = true;
61 53
       // emit('ready');
62 54
     });
@@ -119,66 +111,6 @@
119 111
 
120 112
       }
121 113
 
122
-      .loading-text {
123
-        margin-left: 24px;
124
-        flex: none;
125
-        display: inline-block;
126
-        font-size: 24px;
127
-
128
-        span {
129
-          display: inline-block;
130
-          padding: 0 2px;
131
-          color: #434444;
132
-          opacity: 1;
133
-
134
-          &:nth-child(1) {
135
-            transform: rotate(-10deg);
136
-            animation-delay: 0;
137
-          }
138
-          &:nth-child(2) {
139
-            transform: rotate(-5deg) translateY(-2px);
140
-            animation-delay: 600ms;
141
-          }
142
-          &:nth-child(3) {
143
-            transform: rotate(5deg) translateY(-2px);
144
-            animation-delay: 1200ms;
145
-          }
146
-          &:nth-child(4) {
147
-            transform: rotate(10deg);
148
-            animation-delay: 1800ms;
149
-          }
150
-          &:nth-child(5) {
151
-            transform: rotate(5deg) translateY(2px);
152
-            animation-delay: 2400ms;
153
-          }
154
-          &:nth-child(6) {
155
-            transform: rotate(0) translateY(2px);
156
-            animation-delay: 3000ms;
157
-          }
158
-          &:nth-child(7) {
159
-            transform: rotate(-10deg) translateY(2px);
160
-            animation-delay: 3600ms;
161
-          }
162
-          &:nth-child(8) {
163
-            transform: rotate(-10deg) translateY(2px);
164
-            animation-delay: 4200ms;
165
-          }
166
-        }
167
-
168
-        .txt-shine {
169
-          // animation: txt-shine 1.2s ease-in-out infinite alternate;
170
-        }
171
-
172
-        @keyframes txt-shine {
173
-          from {
174
-            opacity: 0;
175
-          }
176
-          to {
177
-            opacity: 1;
178
-          }
179
-        }
180
-
181
-      }
182 114
 
183 115
     }
184 116
   }

+ 2
- 2
src/pages/pg1/InMap.vue Прегледај датотеку

@@ -9,8 +9,8 @@
9 9
       >
10 10
         <div>
11 11
           <img
12
-            class="flower"
13
-            :style="{}"
12
+            class="flower animate__animated animate__fadeIn animate__infinite"
13
+            :style="{animationDelay: `${2000}ms`, animationDuration: `${2 + inx * 10 % 7}s`}"
14 14
             src="/images/logo.png" alt="">
15 15
           <!-- <img class="shine" src="/images/pg1/shine.png" alt=""> -->
16 16
           <div class="country" :style="getTxtStyle(item)">{{item.name}}</div>