fanlocalAnimate.vue 23 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121
  1. <template>
  2. <view style="width: 100%; height: 100%">
  3. <div class="pageback">
  4. <div class="ventilate" id="topPic">
  5. <!-- 进风箭头 -->
  6. <div
  7. :class="
  8. nowfengji == '2' ? 'arrow1' : nowfengji == '1' ? 'arrow1-fan1' : ''
  9. "
  10. id="arrow1"
  11. ></div>
  12. <div
  13. :class="
  14. nowfengji == '2' ? 'arrow2' : nowfengji == '1' ? 'arrow2-fan1' : ''
  15. "
  16. id="arrow2"
  17. ></div>
  18. <div
  19. :class="
  20. nowfengji == '2' ? 'arrow3' : nowfengji == '1' ? 'arrow3-fan1' : ''
  21. "
  22. id="arrow3"
  23. ></div>
  24. <div
  25. :class="
  26. nowfengji == '2' ? 'arrow4' : nowfengji == '1' ? 'arrow4-fan1' : ''
  27. "
  28. id="arrow4"
  29. ></div>
  30. <div
  31. :class="
  32. nowfengji == '2' ? 'arrow5' : nowfengji == '1' ? 'arrow5-fan1' : ''
  33. "
  34. id="arrow5"
  35. ></div>
  36. <div
  37. :class="
  38. nowfengji == '2' ? 'arrow6' : nowfengji == '1' ? 'arrow6-fan1' : ''
  39. "
  40. id="arrow6"
  41. ></div>
  42. <div
  43. :class="
  44. nowfengji == '2' ? 'arrow7' : nowfengji == '1' ? 'arrow7-fan1' : ''
  45. "
  46. id="arrow7"
  47. ></div>
  48. <div
  49. :class="
  50. nowfengji == '2' ? 'arrow8' : nowfengji == '1' ? 'arrow8-fan1' : ''
  51. "
  52. id="arrow8"
  53. ></div>
  54. <div
  55. :class="
  56. nowfengji == '2' ? 'arrow9' : nowfengji == '1' ? 'arrow9-fan1' : ''
  57. "
  58. id="arrow9"
  59. ></div>
  60. <div
  61. :class="
  62. nowfengji == '2'
  63. ? 'arrow10'
  64. : nowfengji == '1'
  65. ? 'arrow10-fan1'
  66. : ''
  67. "
  68. id="arrow10"
  69. ></div>
  70. <!-- 回风箭头 -->
  71. <div class="arrow101" id="arrow101" v-show="nowfengji != ''"></div>
  72. <div class="arrow102" id="arrow102" v-show="nowfengji != ''"></div>
  73. <div class="arrow103" id="arrow103" v-show="nowfengji != ''"></div>
  74. <div class="arrow104" id="arrow104" v-show="nowfengji != ''"></div>
  75. <div class="arrow105" id="arrow105" v-show="nowfengji != ''"></div>
  76. <div class="arrow106" id="arrow106" v-show="nowfengji != ''"></div>
  77. <!-- <div class="arrow107" id="arrow107"></div>
  78. <div class="arrow108" id="arrow108"></div>-->
  79. <!-- 回风 -->
  80. <div class="arrow201" id="arrow201"></div>
  81. <div class="arrow202" id="arrow202"></div>
  82. <div class="arrow203" id="arrow203"></div>
  83. <div class="arrow204" id="arrow204"></div>
  84. <div class="arrow205" id="arrow205"></div>
  85. <div
  86. style="
  87. color: #fff;
  88. font-size: 14px;
  89. position: absolute;
  90. top: 12%;
  91. left: 80%;
  92. width: auto;
  93. height: 60px;
  94. "
  95. @click="fanclick(1)"
  96. >
  97. <span>主风机</span>
  98. </div>
  99. <div
  100. style="
  101. color: #fff;
  102. font-size: 14px;
  103. position: absolute;
  104. top: 16%;
  105. left: 80%;
  106. width: auto;
  107. height: 60px;
  108. "
  109. @click="fanclick(2)"
  110. >
  111. <span>备用风机</span>
  112. </div>
  113. <!-- 风扇动画展示 -->
  114. <div class="box2" style="top: 12.8%; right: 29%" @click="fanclick(1)">
  115. <div id="box2">
  116. <span></span>
  117. <span></span>
  118. <span></span>
  119. <span></span>
  120. </div>
  121. </div>
  122. <div class="box" style="top: 15.5%; right: 29%" @click="fanclick(2)">
  123. <div id="box1">
  124. <span></span>
  125. <span></span>
  126. <span></span>
  127. <span></span>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. </view>
  133. </template>
  134. <script>
  135. export default {
  136. data() {
  137. return {
  138. fengliangUp: "", // 风量上限
  139. fengliangDown: "", // 风量下限
  140. controTypeName: "变频器频率",
  141. // 界面风机动画
  142. // 控制类型 1 变频器频率 2 需风量
  143. controlType: "1",
  144. loading: "", // 数据加载
  145. yMax1: 100,
  146. yMax2: 10,
  147. yMax3: 1000,
  148. textColor: "#000",
  149. option1: {},
  150. readData: {},
  151. nowfengji: "1",
  152. };
  153. },
  154. props: {
  155. mainFanText: {
  156. type: String,
  157. default: "主风机",
  158. },
  159. subFanText: {
  160. type: String,
  161. default: "备风机",
  162. },
  163. },
  164. methods: {
  165. setnowfengji(val) {
  166. if (this.nowfengji != val) {
  167. this.nowfengji = val;
  168. this.setFengjiDonghua();
  169. }
  170. },
  171. fanclick(val) {
  172. this.$emit("fanclick", val);
  173. },
  174. setFengjiDonghua() {
  175. if (this.nowfengji == "2") {
  176. document.getElementById("box1").style.animationPlayState = "running";
  177. document.getElementById("box1").style.WebkitAnimationPlayState =
  178. "running";
  179. document.getElementById("box2").style.animationPlayState = "paused";
  180. document.getElementById("box2").style.WebkitAnimationPlayState =
  181. "paused";
  182. } else if (this.nowfengji == "1") {
  183. document.getElementById("box2").style.animationPlayState = "running";
  184. document.getElementById("box2").style.WebkitAnimationPlayState =
  185. "running";
  186. document.getElementById("box1").style.animationPlayState = "paused";
  187. document.getElementById("box1").style.WebkitAnimationPlayState =
  188. "paused";
  189. } else {
  190. document.getElementById("box2").style.animationPlayState = "paused";
  191. document.getElementById("box2").style.WebkitAnimationPlayState =
  192. "paused";
  193. document.getElementById("box1").style.animationPlayState = "paused";
  194. document.getElementById("box1").style.WebkitAnimationPlayState =
  195. "paused";
  196. }
  197. },
  198. },
  199. watch: {},
  200. onLoad(query) {
  201. this.setFengjiDonghua();
  202. },
  203. };
  204. </script>
  205. <style scoped>
  206. div.pageback {
  207. padding-top: 10px;
  208. margin-top: 12px;
  209. width: 100%;
  210. height: calc(80% - 50px);
  211. min-height: 350px;
  212. background-image: url(/static/fan/page-back.png);
  213. background-size: 100% 100%;
  214. }
  215. div.ventilate {
  216. min-width: 300px;
  217. width: 60%;
  218. margin-left: 10%;
  219. height: 80%;
  220. height: calc(80% - 120px);
  221. min-height: 330px;
  222. background-image: url(/static/fan/localfan-back.png);
  223. background-size: 100% 100%;
  224. }
  225. div.arrow1,
  226. div.arrow2,
  227. div.arrow3,
  228. div.arrow4,
  229. div.arrow5,
  230. div.arrow6,
  231. div.arrow7,
  232. div.arrow8,
  233. div.arrow9,
  234. div.arrow10,
  235. div.arrow1-fan1,
  236. div.arrow2-fan1,
  237. div.arrow3-fan1,
  238. div.arrow4-fan1,
  239. div.arrow5-fan1,
  240. div.arrow6-fan1,
  241. div.arrow7-fan1,
  242. div.arrow8-fan1,
  243. div.arrow9-fan1,
  244. div.arrow10-fan1 {
  245. position: absolute;
  246. right: 40px;
  247. opacity: 0;
  248. top: 96px;
  249. width: 30px;
  250. height: 15px;
  251. box-sizing: border-box;
  252. float: right;
  253. z-index: 1;
  254. transition: all 2s ease;
  255. background-image: url(/static/fan/arrow-in.png);
  256. background-size: 100% 100%;
  257. }
  258. div.arrow101,
  259. div.arrow102,
  260. div.arrow103,
  261. div.arrow104,
  262. div.arrow105,
  263. div.arrow106,
  264. div.arrow107,
  265. div.arrow108 {
  266. position: absolute;
  267. right: 70px;
  268. opacity: 0;
  269. top: 516px;
  270. width: 30px;
  271. height: 13px;
  272. box-sizing: border-box;
  273. float: right;
  274. z-index: 1;
  275. transition: all 2s ease;
  276. background-image: url(/static/fan/arrow-out.png);
  277. background-size: 100% 100%;
  278. }
  279. div.arrow201,
  280. div.arrow202,
  281. div.arrow203,
  282. div.arrow204,
  283. div.arrow205 {
  284. position: absolute;
  285. right: 0px;
  286. opacity: 0;
  287. top: 30px;
  288. width: 45px;
  289. height: 23px;
  290. box-sizing: border-box;
  291. float: right;
  292. z-index: 10;
  293. transition: all 2s ease;
  294. background-image: url(/static/fan/arrow-in.png);
  295. background-size: 100% 100%;
  296. }
  297. </style>
  298. <style scoped>
  299. .arrow1 {
  300. position: relative;
  301. animation: myfirst1 20s infinite linear;
  302. /* Safari 和 Chrome */
  303. -webkit-animation: myfirst1 20s infinite linear;
  304. }
  305. @keyframes myfirst1 {
  306. 0% {
  307. right: 10%;
  308. top: 16%;
  309. -webkit-transform: rotate(0deg);
  310. opacity: 1;
  311. }
  312. 10% {
  313. right: 33%;
  314. top: 16%;
  315. -webkit-transform: rotate(0deg);
  316. opacity: 1;
  317. }
  318. 11% {
  319. right: 34%;
  320. top: 15%;
  321. -webkit-transform: rotate(40deg);
  322. opacity: 1;
  323. }
  324. 14% {
  325. right: 40%;
  326. top: 13%;
  327. -webkit-transform: rotate(40deg);
  328. opacity: 1;
  329. }
  330. 15% {
  331. right: 41%;
  332. top: 13%;
  333. -webkit-transform: rotate(0deg);
  334. opacity: 1;
  335. }
  336. 22% {
  337. right: 60%;
  338. top: 13%;
  339. -webkit-transform: rotate(0deg);
  340. opacity: 1;
  341. }
  342. 23% {
  343. right: 60.5%;
  344. top: 14%;
  345. -webkit-transform: rotate(-90deg);
  346. opacity: 1;
  347. }
  348. 98% {
  349. right: 60.5%;
  350. top: 91%;
  351. -webkit-transform: rotate(-90deg);
  352. opacity: 1;
  353. }
  354. 100% {
  355. right: 60.5%;
  356. top: 93%;
  357. -webkit-transform: rotate(-90deg);
  358. opacity: 0;
  359. }
  360. }
  361. @-webkit-keyframes myfirst1 /* Safari 和 Chrome */ {
  362. 0% {
  363. right: 10%;
  364. top: 16%;
  365. -webkit-transform: rotate(0deg);
  366. opacity: 1;
  367. }
  368. 10% {
  369. right: 33%;
  370. top: 16%;
  371. -webkit-transform: rotate(0deg);
  372. opacity: 1;
  373. }
  374. 11% {
  375. right: 34%;
  376. top: 15%;
  377. -webkit-transform: rotate(30deg);
  378. opacity: 1;
  379. }
  380. 14% {
  381. right: 40%;
  382. top: 12%;
  383. -webkit-transform: rotate(30deg);
  384. opacity: 1;
  385. }
  386. 15% {
  387. right: 41%;
  388. top: 12%;
  389. -webkit-transform: rotate(0deg);
  390. opacity: 1;
  391. }
  392. 22% {
  393. right: 60%;
  394. top: 12%;
  395. -webkit-transform: rotate(0deg);
  396. opacity: 1;
  397. }
  398. 23% {
  399. right: 60.5%;
  400. top: 13%;
  401. -webkit-transform: rotate(-90deg);
  402. opacity: 1;
  403. }
  404. 98% {
  405. right: 60.5%;
  406. top: 91%;
  407. -webkit-transform: rotate(-90deg);
  408. opacity: 1;
  409. }
  410. 100% {
  411. right: 60.5%;
  412. top: 93%;
  413. -webkit-transform: rotate(-90deg);
  414. opacity: 0;
  415. }
  416. }
  417. .arrow2 {
  418. position: relative;
  419. animation-delay: -18s;
  420. animation: myfirst1 20s infinite linear;
  421. /* Safari 和 Chrome */
  422. -webkit-animation: myfirst1 20s infinite linear;
  423. -webkit-animation-delay: -18s;
  424. }
  425. .arrow3 {
  426. position: relative;
  427. animation-delay: -16s;
  428. animation: myfirst1 20s infinite linear;
  429. /* Safari 和 Chrome */
  430. -webkit-animation: myfirst1 20s infinite linear;
  431. -webkit-animation-delay: -16s;
  432. }
  433. .arrow4 {
  434. position: relative;
  435. animation-delay: -14s;
  436. animation: myfirst1 20s infinite linear;
  437. /* Safari 和 Chrome */
  438. -webkit-animation: myfirst1 20s infinite linear;
  439. -webkit-animation-delay: -14s;
  440. }
  441. .arrow5 {
  442. position: relative;
  443. animation-delay: -12s;
  444. animation: myfirst1 20s infinite linear;
  445. /* Safari 和 Chrome */
  446. -webkit-animation: myfirst1 20s infinite linear;
  447. -webkit-animation-delay: -12s;
  448. }
  449. .arrow6 {
  450. position: relative;
  451. animation-delay: -10s;
  452. animation: myfirst1 20s infinite linear;
  453. /* Safari 和 Chrome */
  454. -webkit-animation: myfirst1 20s infinite linear;
  455. -webkit-animation-delay: -10s;
  456. }
  457. .arrow7 {
  458. position: relative;
  459. animation-delay: -8s;
  460. animation: myfirst1 20s infinite linear;
  461. /* Safari 和 Chrome */
  462. -webkit-animation: myfirst1 20s infinite linear;
  463. -webkit-animation-delay: -8s;
  464. }
  465. .arrow8 {
  466. position: relative;
  467. animation-delay: -6s;
  468. animation: myfirst1 20s infinite linear;
  469. /* Safari 和 Chrome */
  470. -webkit-animation: myfirst1 20s infinite linear;
  471. -webkit-animation-delay: -6s;
  472. }
  473. .arrow9 {
  474. position: relative;
  475. animation-delay: -4s;
  476. animation: myfirst1 20s infinite linear;
  477. /* Safari 和 Chrome */
  478. -webkit-animation: myfirst1 20s infinite linear;
  479. -webkit-animation-delay: -4s;
  480. }
  481. .arrow10 {
  482. position: relative;
  483. animation-delay: -2s;
  484. animation: myfirst1 20s infinite linear;
  485. /* Safari 和 Chrome */
  486. -webkit-animation: myfirst1 20s infinite linear;
  487. -webkit-animation-delay: -2s;
  488. }
  489. </style>
  490. <style scoped>
  491. .arrow101 {
  492. position: relative;
  493. animation-delay: -10s;
  494. animation: myfirst101 12s infinite linear;
  495. /* Safari 和 Chrome */
  496. -webkit-animation: myfirst101 12s infinite linear;
  497. -webkit-animation-delay: -10s;
  498. }
  499. @keyframes myfirst101 {
  500. 0% {
  501. right: 62.5%;
  502. top: 94%;
  503. -webkit-transform: rotate(-180deg);
  504. opacity: 1;
  505. }
  506. 15% {
  507. right: 73%;
  508. top: 94%;
  509. -webkit-transform: rotate(-180deg);
  510. opacity: 1;
  511. }
  512. 17% {
  513. right: 73%;
  514. top: 93%;
  515. -webkit-transform: rotate(-90deg);
  516. opacity: 1;
  517. }
  518. 62% {
  519. right: 73%;
  520. top: 57%;
  521. -webkit-transform: rotate(-90deg);
  522. opacity: 1;
  523. }
  524. 64% {
  525. right: 73%;
  526. top: 55%;
  527. -webkit-transform: rotate(-180deg);
  528. opacity: 1;
  529. }
  530. 66% {
  531. right: 74%;
  532. top: 55%;
  533. -webkit-transform: rotate(-180deg);
  534. opacity: 1;
  535. }
  536. 90% {
  537. right: 93%;
  538. top: 55%;
  539. -webkit-transform: rotate(-180deg);
  540. opacity: 1;
  541. }
  542. 100% {
  543. right: 98%;
  544. top: 55%;
  545. -webkit-transform: rotate(-180deg);
  546. opacity: 0;
  547. }
  548. }
  549. @-webkit-keyframes myfirst101 /* Safari 和 Chrome */ {
  550. 0% {
  551. right: 62.5%;
  552. top: 94%;
  553. -webkit-transform: rotate(-180deg);
  554. opacity: 1;
  555. }
  556. 15% {
  557. right: 73%;
  558. top: 94%;
  559. -webkit-transform: rotate(-180deg);
  560. opacity: 1;
  561. }
  562. 17% {
  563. right: 73%;
  564. top: 93%;
  565. -webkit-transform: rotate(-90deg);
  566. opacity: 1;
  567. }
  568. 62% {
  569. right: 73%;
  570. top: 57%;
  571. -webkit-transform: rotate(-90deg);
  572. opacity: 1;
  573. }
  574. 64% {
  575. right: 73%;
  576. top: 55%;
  577. -webkit-transform: rotate(-180deg);
  578. opacity: 1;
  579. }
  580. 66% {
  581. right: 74%;
  582. top: 55%;
  583. -webkit-transform: rotate(-180deg);
  584. opacity: 1;
  585. }
  586. 90% {
  587. right: 93%;
  588. top: 55%;
  589. -webkit-transform: rotate(-180deg);
  590. opacity: 1;
  591. }
  592. 100% {
  593. right: 98%;
  594. top: 55%;
  595. -webkit-transform: rotate(-180deg);
  596. opacity: 0;
  597. }
  598. }
  599. .arrow102 {
  600. position: relative;
  601. animation-delay: -8s;
  602. animation: myfirst101 12s infinite linear;
  603. /* Safari 和 Chrome */
  604. -webkit-animation: myfirst101 12s infinite linear;
  605. -webkit-animation-delay: -8s;
  606. }
  607. .arrow103 {
  608. position: relative;
  609. animation-delay: -6s;
  610. animation: myfirst101 12s infinite linear;
  611. /* Safari 和 Chrome */
  612. -webkit-animation: myfirst101 12s infinite linear;
  613. -webkit-animation-delay: -6s;
  614. }
  615. .arrow104 {
  616. position: relative;
  617. animation-delay: -4s;
  618. animation: myfirst101 12s infinite linear;
  619. /* Safari 和 Chrome */
  620. -webkit-animation: myfirst101 12s infinite linear;
  621. -webkit-animation-delay: -4s;
  622. }
  623. .arrow105 {
  624. position: relative;
  625. animation-delay: -2s;
  626. animation: myfirst101 12s infinite linear;
  627. /* Safari 和 Chrome */
  628. -webkit-animation: myfirst101 12s infinite linear;
  629. -webkit-animation-delay: -2s;
  630. }
  631. .arrow106 {
  632. position: relative;
  633. animation-delay: 0s;
  634. animation: myfirst101 12s infinite linear;
  635. /* Safari 和 Chrome */
  636. -webkit-animation: myfirst101 12s infinite linear;
  637. -webkit-animation-delay: 0s;
  638. }
  639. </style>
  640. <style scoped>
  641. .arrow1-fan1 {
  642. position: relative;
  643. animation: myfirst1-fan1 20s infinite linear;
  644. /* Safari 和 Chrome */
  645. -webkit-animation: myfirst1-fan1 20s infinite linear;
  646. }
  647. @keyframes myfirst1-fan1 {
  648. 0% {
  649. right: 10%;
  650. top: 10%;
  651. -webkit-transform: rotate(0deg);
  652. opacity: 1;
  653. }
  654. 10% {
  655. right: 33%;
  656. top: 10%;
  657. -webkit-transform: rotate(0deg);
  658. opacity: 1;
  659. }
  660. 11% {
  661. right: 34%;
  662. top: 11%;
  663. -webkit-transform: rotate(-40deg);
  664. opacity: 1;
  665. }
  666. 14% {
  667. right: 40%;
  668. top: 13%;
  669. -webkit-transform: rotate(-40deg);
  670. opacity: 1;
  671. }
  672. 15% {
  673. right: 41%;
  674. top: 13%;
  675. -webkit-transform: rotate(0deg);
  676. opacity: 1;
  677. }
  678. 22% {
  679. right: 60%;
  680. top: 13%;
  681. -webkit-transform: rotate(0deg);
  682. opacity: 1;
  683. }
  684. 23% {
  685. right: 60.5%;
  686. top: 14%;
  687. -webkit-transform: rotate(-90deg);
  688. opacity: 1;
  689. }
  690. 98% {
  691. right: 60.5%;
  692. top: 89%;
  693. -webkit-transform: rotate(-90deg);
  694. opacity: 1;
  695. }
  696. 100% {
  697. right: 60.5%;
  698. top: 91%;
  699. -webkit-transform: rotate(-90deg);
  700. opacity: 0;
  701. }
  702. }
  703. @-webkit-keyframes myfirst1-fan1 /* Safari 和 Chrome */ {
  704. 0% {
  705. right: 10%;
  706. top: 10%;
  707. -webkit-transform: rotate(0deg);
  708. opacity: 1;
  709. }
  710. 10% {
  711. right: 33%;
  712. top: 10%;
  713. -webkit-transform: rotate(0deg);
  714. opacity: 1;
  715. }
  716. 11% {
  717. right: 34%;
  718. top: 11%;
  719. -webkit-transform: rotate(-40deg);
  720. opacity: 1;
  721. }
  722. 14% {
  723. right: 40%;
  724. top: 13%;
  725. -webkit-transform: rotate(-40deg);
  726. opacity: 1;
  727. }
  728. 15% {
  729. right: 41%;
  730. top: 13%;
  731. -webkit-transform: rotate(0deg);
  732. opacity: 1;
  733. }
  734. 22% {
  735. right: 60%;
  736. top: 13%;
  737. -webkit-transform: rotate(0deg);
  738. opacity: 1;
  739. }
  740. 23% {
  741. right: 60.5%;
  742. top: 14%;
  743. -webkit-transform: rotate(-90deg);
  744. opacity: 1;
  745. }
  746. 98% {
  747. right: 60.5%;
  748. top: 89%;
  749. -webkit-transform: rotate(-90deg);
  750. opacity: 1;
  751. }
  752. 100% {
  753. right: 60.5%;
  754. top: 91%;
  755. -webkit-transform: rotate(-90deg);
  756. opacity: 0;
  757. }
  758. }
  759. .arrow2-fan1 {
  760. position: relative;
  761. animation-delay: -18s;
  762. animation: myfirst1-fan1 20s infinite linear;
  763. /* Safari 和 Chrome */
  764. -webkit-animation: myfirst1-fan1 20s infinite linear;
  765. -webkit-animation-delay: -18s;
  766. }
  767. .arrow3-fan1 {
  768. position: relative;
  769. animation-delay: -16s;
  770. animation: myfirst1-fan1 20s infinite linear;
  771. /* Safari 和 Chrome */
  772. -webkit-animation: myfirst1-fan1 20s infinite linear;
  773. -webkit-animation-delay: -16s;
  774. }
  775. .arrow4-fan1 {
  776. position: relative;
  777. animation-delay: -14s;
  778. animation: myfirst1-fan1 20s infinite linear;
  779. /* Safari 和 Chrome */
  780. -webkit-animation: myfirst1-fan1 20s infinite linear;
  781. -webkit-animation-delay: -14s;
  782. }
  783. .arrow5-fan1 {
  784. position: relative;
  785. animation-delay: -12s;
  786. animation: myfirst1-fan1 20s infinite linear;
  787. /* Safari 和 Chrome */
  788. -webkit-animation: myfirst1-fan1 20s infinite linear;
  789. -webkit-animation-delay: -12s;
  790. }
  791. .arrow6-fan1 {
  792. position: relative;
  793. animation-delay: -10s;
  794. animation: myfirst1-fan1 20s infinite linear;
  795. /* Safari 和 Chrome */
  796. -webkit-animation: myfirst1-fan1 20s infinite linear;
  797. -webkit-animation-delay: -10s;
  798. }
  799. .arrow7-fan1 {
  800. position: relative;
  801. animation-delay: -8s;
  802. animation: myfirst1-fan1 20s infinite linear;
  803. /* Safari 和 Chrome */
  804. -webkit-animation: myfirst1-fan1 20s infinite linear;
  805. -webkit-animation-delay: -8s;
  806. }
  807. .arrow8-fan1 {
  808. position: relative;
  809. animation-delay: -6s;
  810. animation: myfirst1-fan1 20s infinite linear;
  811. /* Safari 和 Chrome */
  812. -webkit-animation: myfirst1-fan1 20s infinite linear;
  813. -webkit-animation-delay: -6s;
  814. }
  815. .arrow9-fan1 {
  816. position: relative;
  817. animation-delay: -4s;
  818. animation: myfirst1-fan1 20s infinite linear;
  819. /* Safari 和 Chrome */
  820. -webkit-animation: myfirst1-fan1 20s infinite linear;
  821. -webkit-animation-delay: -4s;
  822. }
  823. .arrow10-fan1 {
  824. position: relative;
  825. animation-delay: -2s;
  826. animation: myfirst1-fan1 20s infinite linear;
  827. /* Safari 和 Chrome */
  828. -webkit-animation: myfirst1-fan1 20s infinite linear;
  829. -webkit-animation-delay: -2s;
  830. }
  831. </style>
  832. <style scoped>
  833. .arrow201 {
  834. position: relative;
  835. animation-delay: -8s;
  836. animation: myfirst201 10s infinite linear;
  837. /* Safari 和 Chrome */
  838. -webkit-animation: myfirst201 10s infinite linear;
  839. -webkit-animation-delay: -8s;
  840. }
  841. @keyframes myfirst201 {
  842. 0% {
  843. right: 0px;
  844. top: 90px;
  845. -webkit-transform: rotate(0deg);
  846. opacity: 0;
  847. }
  848. 2% {
  849. right: 10px;
  850. top: 90px;
  851. -webkit-transform: rotate(0deg);
  852. opacity: 1;
  853. }
  854. 94% {
  855. right: 530px;
  856. top: 90px;
  857. -webkit-transform: rotate(0deg);
  858. opacity: 1;
  859. }
  860. 100% {
  861. right: 570px;
  862. top: 90px;
  863. -webkit-transform: rotate(0deg);
  864. opacity: 0;
  865. }
  866. }
  867. @-webkit-keyframes myfirst201 /* Safari 和 Chrome */ {
  868. 0% {
  869. right: 0px;
  870. top: 90px;
  871. -webkit-transform: rotate(0deg);
  872. opacity: 0;
  873. }
  874. 2% {
  875. right: 10px;
  876. top: 90px;
  877. -webkit-transform: rotate(0deg);
  878. opacity: 1;
  879. }
  880. 94% {
  881. right: 530px;
  882. top: 90px;
  883. -webkit-transform: rotate(0deg);
  884. opacity: 1;
  885. }
  886. 100% {
  887. right: 570px;
  888. top: 90px;
  889. -webkit-transform: rotate(0deg);
  890. opacity: 0;
  891. }
  892. }
  893. .arrow202 {
  894. position: relative;
  895. animation-delay: -6s;
  896. animation: myfirst201 10s infinite linear;
  897. /* Safari 和 Chrome */
  898. -webkit-animation: myfirst201 10s infinite linear;
  899. -webkit-animation-delay: -6s;
  900. }
  901. .arrow203 {
  902. position: relative;
  903. animation-delay: -4s;
  904. animation: myfirst201 10s infinite linear;
  905. /* Safari 和 Chrome */
  906. -webkit-animation: myfirst201 10s infinite linear;
  907. -webkit-animation-delay: -4s;
  908. }
  909. .arrow204 {
  910. position: relative;
  911. animation-delay: -2s;
  912. animation: myfirst201 10s infinite linear;
  913. /* Safari 和 Chrome */
  914. -webkit-animation: myfirst201 10s infinite linear;
  915. -webkit-animation-delay: -2s;
  916. }
  917. .arrow205 {
  918. position: relative;
  919. animation-delay: -0.1s;
  920. animation: myfirst201 10s infinite linear;
  921. /* Safari 和 Chrome */
  922. -webkit-animation: myfirst201 10s infinite linear;
  923. -webkit-animation-delay: -0.1s;
  924. }
  925. </style>
  926. <style scoped>
  927. .box,
  928. .box2 {
  929. position: absolute;
  930. transform: perspective(1000px) rotateY(-70deg);
  931. width: 5px;
  932. height: 15px;
  933. transform-style: preserve-3d;
  934. }
  935. .box::before,
  936. .box2::before {
  937. content: "";
  938. position: absolute;
  939. bottom: -20px;
  940. left: 0;
  941. width: 100%;
  942. height: 10px;
  943. background: #000;
  944. filter: blur(10px);
  945. opacity: 0.5;
  946. transform: rotateX(90deg);
  947. }
  948. .box div {
  949. position: absolute;
  950. top: 0;
  951. left: 0;
  952. width: 100%;
  953. height: 100%;
  954. transform-style: preserve-3d;
  955. animation: animate 5s linear infinite;
  956. }
  957. .box2 div {
  958. position: absolute;
  959. top: 0;
  960. left: 0;
  961. width: 100%;
  962. height: 100%;
  963. transform-style: preserve-3d;
  964. animation: animate 5s linear infinite;
  965. animation-play-state: paused;
  966. -webkit-animation-play-state: paused;
  967. }
  968. .box div span,
  969. .box2 div span {
  970. position: absolute;
  971. top: 0;
  972. left: 0;
  973. display: block;
  974. width: 100%;
  975. height: 100%;
  976. background: linear-gradient(0deg, #f1f1f1, #999, #f1f1f1);
  977. border-radius: 5px;
  978. }
  979. .box div span:nth-child(1),
  980. .box2 div span:nth-child(1) {
  981. transform: rotateX(0deg);
  982. }
  983. .box div span:nth-child(2),
  984. .box2 div span:nth-child(2) {
  985. transform: rotateX(45deg);
  986. }
  987. .box div span:nth-child(3),
  988. .box2 div span:nth-child(3) {
  989. transform: rotateX(-45deg);
  990. }
  991. .box div span:nth-child(4),
  992. .box2 div span:nth-child(4) {
  993. transform: rotateX(90deg);
  994. }
  995. @keyframes animate {
  996. 0% {
  997. transform: perspective(1000px) rotateX(0deg);
  998. }
  999. 100% {
  1000. transform: perspective(1000px) rotateX(359deg);
  1001. }
  1002. }
  1003. </style>
  1004. <style scoped>
  1005. .localT1 {
  1006. position: absolute;
  1007. width: 70px;
  1008. }
  1009. .localT1 div:nth-child(1) {
  1010. float: left;
  1011. width: 20px;
  1012. height: 20px;
  1013. padding: 2px;
  1014. background: #1515e9;
  1015. font-size: 12px;
  1016. font-weight: 100;
  1017. color: #fff;
  1018. border: 1px solid #000;
  1019. box-shadow: #1515e9 0px 0px 10px;
  1020. }
  1021. .localT1 div:nth-child(2) {
  1022. float: left;
  1023. width: 40px;
  1024. height: 20px;
  1025. padding-top: 3px;
  1026. text-align: center;
  1027. background: #fd1f0f;
  1028. font-size: 10px;
  1029. font-weight: 300;
  1030. color: #fff;
  1031. border: 1px solid rgb(124, 80, 80);
  1032. box-shadow: #fd1f0f 0px 0px 10px;
  1033. }
  1034. .localF1 {
  1035. position: absolute;
  1036. width: 62px;
  1037. }
  1038. .localF1 div:nth-child(1) {
  1039. float: left;
  1040. width: 17px;
  1041. height: 19px;
  1042. padding: 2px;
  1043. background: #a9a9e6;
  1044. font-size: 12px;
  1045. font-weight: 100;
  1046. color: #fff;
  1047. border: 1px solid #000;
  1048. box-shadow: #a9a9e6 0px 0px 10px;
  1049. }
  1050. .localF1 div:nth-child(2) {
  1051. float: left;
  1052. width: 35px;
  1053. height: 20px;
  1054. padding-top: 3px;
  1055. text-align: center;
  1056. background: #16f179;
  1057. font-size: 10px;
  1058. font-weight: 300;
  1059. color: #fff;
  1060. border: 1px solid rgb(118, 153, 108);
  1061. box-shadow: #16f179 0px 0px 10px;
  1062. }
  1063. .imgF2 {
  1064. top: 80%;
  1065. right: 62%;
  1066. position: absolute;
  1067. width: 20px;
  1068. height: 4px;
  1069. background: #f80404;
  1070. border: 1px solid rgb(182, 85, 85);
  1071. box-shadow: #f80404 0px 0px 10px;
  1072. }
  1073. .imgF1 {
  1074. top: 12.5%;
  1075. right: 53%;
  1076. position: absolute;
  1077. height: 18px;
  1078. width: 4px;
  1079. background: #f80404;
  1080. border: 1px solid rgb(182, 85, 85);
  1081. box-shadow: #f80404 0px 0px 10px;
  1082. }
  1083. </style>