menu.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806
  1. <template>
  2. <div class="pinBottom-container" @touchstart.stop @keydown.stop>
  3. <div class="pinBottom center">
  4. <div id="view-controllers"></div>
  5. </div>
  6. <div class="pinBottom left">
  7. <!-- <div v-if="isMobile" id="myClickBox" style="">
  8. <div id="go" />
  9. <div id="back" />
  10. </div> -->
  11. <div>
  12. <div class="viewContainer">
  13. <div id="previous" class="previous desktop-only ui-icon" style="display: none">
  14. <a>
  15. <img rel="tooltip" title="" :src="require('@/assets/images/play.png')" width="24" height="24" :data-original-title="$t('operation.bf')" />
  16. </a>
  17. </div>
  18. <div id="play" class="ui-icon" rel="tooltip" :data-original-title="$t('operation.bf')">
  19. <!-- 鼠标移入的显示 -->
  20. <div class="hoverTit">{{ $t("operation.zddl") }}</div>
  21. <a>
  22. <img :src="require('@/assets/images/icon/play.png')" width="24" height="24" />
  23. </a>
  24. </div>
  25. <div id="pause" class="ui-icon" style="display: none">
  26. <!-- 鼠标移入的显示 -->
  27. <div class="hoverTit">{{ $t("operation.zddl") }}</div>
  28. <a>
  29. <img rel="tooltip" title="" :src="require('@/assets/images/icon/pause.png')" width="24" height="24" :data-original-title="$t('operation.zt')" />
  30. </a>
  31. </div>
  32. <div id="next" class="next desktop-only ui-icon wide" style="display: none">
  33. <a>
  34. <i rel="tooltip" title="" class="icon icon-dpad-right" :data-original-title="$t('operation.xyg')"></i>
  35. </a>
  36. </div>
  37. <div id="gui-modes-map" class="ui-icon double active">
  38. <div :data-original-title="$t('operation.dl')" @click="isGuide = !isGuide" id="pullTab" rel="tooltip" :title="$t('operation.cjdl')">
  39. <!-- 鼠标移入的显示 -->
  40. <div class="hoverTit">{{ $t("operation.dllist") }}</div>
  41. <img title="" class="icon icon-inside" :src="require(`@/assets/images/icon/auto${!isGuide ? '_active' : ''}.png`)" />
  42. </div>
  43. <div :data-original-title="$t('operation.mnmx')" id="gui-modes-inside" rel="tooltip">
  44. <!-- 鼠标移入的显示 -->
  45. <div class="hoverTit">{{ $t("operation.qjmy") }}</div>
  46. <img class="icon icon-inside" :src="require('@/assets/images/icon/inside.png')" />
  47. <img class="icon icon-inside active" :src="require('@/assets/images/icon/inside_active.png')" />
  48. </div>
  49. <div :title="$t('operation.mnmy')" :data-original-title="$t('operation.mnmx')" id="gui-modes-dollhouse" rel="tooltip">
  50. <!-- 鼠标移入的显示 -->
  51. <div class="hoverTit">{{ $t("operation.swsj") }}</div>
  52. <img class="icon icon-inside" :src="require('@/assets/images/icon/dollhouse.png')" />
  53. <img class="icon icon-inside active" :src="require('@/assets/images/icon/dollhouse_active.png')" />
  54. </div>
  55. <div :data-original-title="$t('operation.fst')" id="gui-modes-floorplan" rel="tooltip" :title="$t('operation.fst')">
  56. <!-- 鼠标移入的显示 -->
  57. <div class="hoverTit">{{ $t("operation.pmt") }}</div>
  58. <img class="icon icon-inside" :src="require('@/assets/images/icon/floor.png')" />
  59. <img class="active icon icon-inside active" :src="require('@/assets/images/icon/floor_active.png')" />
  60. </div>
  61. <!-- 热点列表 -->
  62. <div v-show="!hideTools" id="myHotList" @click="openInd = 1">
  63. <!-- 鼠标移入的显示 -->
  64. <div class="hoverTit">{{ $t("operation.rdlist") }}</div>
  65. <img src="../../assets/images/icon/hot.png" alt="" />
  66. </div>
  67. <div data-original-title="VR" id="vr" rel="tooltip" title="" style="display: none">
  68. <img class="icon icon-inside" :src="require('@/assets/images/VR.png')" />
  69. </div>
  70. <div :data-original-title="$t('operation.xcwk')" id="gui-remove-face" rel="tooltip" :title="$t('operation.xcwk')" style="display: none; float: left">
  71. <img class="icon icon-inside" :src="require('@/assets/images/face.jpg')" />
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. <div v-show="!hideTools" class="pinBottom right hideTarget">
  78. <div class="rightViewContainer clearfix">
  79. <!-- <div class="gui-floor">
  80. <div class="gui-floor-title"></div>
  81. <div class="gui-floor-icon">
  82. <span class="gui-floor-number"></span>
  83. </div>
  84. <div class="container"></div>
  85. </div> -->
  86. <div id="vr" class="ui-icon wide hidden" style="display: none">
  87. <a>
  88. <i rel="tooltip" title="{[{ VIEW_IN_VR }]}" class="icon icon-webvr"></i>
  89. </a>
  90. </div>
  91. <div id="sharing" class="ui-icon wide hidden" style="display: none">
  92. <a>
  93. <i rel="tooltip" title="{[{ SOCIAL_SHARING }]}" class="icon icon-share"></i>
  94. </a>
  95. </div>
  96. <div class="pull-right terms terms2">
  97. <a>{[{ TERMS }]}</a>
  98. </div>
  99. <!-- 回到pc页面(首页) -->
  100. <!-- 鼠标移入的显示 -->
  101. <!-- <div class="toHomeBox" @click="toHomeFu">
  102. <div class="hoverTit">回到首页</div>
  103. <img src="../../assets/img/toHome.png" alt="" />
  104. </div> -->
  105. <!-- vr -->
  106. <!-- 鼠标移入的显示 -->
  107. <!-- <div class="toHomeBox" @click="openVR">
  108. <div class="hoverTit">VR</div>
  109. <img src="../../assets/img/openVR.png" alt="" />
  110. </div> -->
  111. <div class="fgx">
  112. <img style="display: block; width: 9px; width: 9px; position: relative; left: -8px; top: 10px" src="../../assets/images/icon/border.png" alt="" />
  113. </div>
  114. <!-- 音乐 -->
  115. <div id="volume" class="ui-icon bgandshare wide">
  116. <!-- 鼠标移入的显示 -->
  117. <div class="hoverTit">
  118. {{ musicState ? $t("operation.gbyy") : $t("operation.dkyy") }}
  119. </div>
  120. <div>
  121. <img id="openMusic" style="display: block" @click="switchBGM(true)" src="../../assets/images/icon/musicAc.png" alt="" />
  122. <img id="closeMusic" style="display: none" @click="switchBGM(false)" src="../../assets/images/icon/music.png" alt="" />
  123. </div>
  124. </div>
  125. <!-- 分享 -->
  126. <!-- 鼠标移入的显示 -->
  127. <!-- <div class="toHomeBox" @click="openInd = 2">
  128. <div class="hoverTit">分享</div>
  129. <img src="../../assets/img/share.png" alt="" />
  130. </div> -->
  131. <!-- <div
  132. class="toHomeBox"
  133. :class="{ toHomeBoxMc: isMyMobile }"
  134. @click="
  135. read = true;
  136. languageShow = false;
  137. "
  138. >
  139. <div v-if="!isMyMobile">
  140. <div class="yueduliang" v-show="read">
  141. <div
  142. v-for="item in readList"
  143. :key="item"
  144. :class="{ active: item == activeRead }"
  145. @click="readClick(item)"
  146. >
  147. {{ item }}
  148. </div>
  149. <div class="read">{{ readVlaue }}</div>
  150. <img
  151. @click.stop="read = false"
  152. src="../../assets/images/icon/close.png"
  153. alt=""
  154. />
  155. <span class="triangle-down"></span>
  156. </div>
  157. </div>
  158. <div v-else>
  159. <div class="yueduliangMC" v-show="read">
  160. <div class="typelist">
  161. <div
  162. v-for="item in readList"
  163. :key="item"
  164. :class="{ active: item == activeRead }"
  165. @click="readClick(item)"
  166. >
  167. {{ item }}
  168. </div>
  169. </div>
  170. <div class="read">{{ readVlaue }}</div>
  171. <img
  172. @click.stop="read = false"
  173. src="../../assets/images/icon/close.png"
  174. alt=""
  175. />
  176. <span class="triangle-down"></span>
  177. </div>
  178. </div>
  179. <div class="hoverTit">{{ $t("operation.ydl") }}</div>
  180. <img src="../../assets/images/icon/red.png" alt="" />
  181. </div> -->
  182. <div class="toHomeBox" @click="handleFullscreen">
  183. <div class="hoverTit">{{ $t("operation.qp") }}</div>
  184. <img :src="require(`../../assets/images/icon/full${isFull ? 'x' : ''}.png`)" alt="" />
  185. </div>
  186. <!-- <div class="toHomeBox">
  187. <div class="ppList" v-show="languageShow">
  188. <div
  189. v-for="item in languageList"
  190. :key="item.key"
  191. @click="hanldlanguage(item)"
  192. :style="{ color: item.key == language ? '#0F7562' : '#00221C' }"
  193. >
  194. {{ item.name }}
  195. </div>
  196. </div>
  197. <div class="hoverTit">{{ $t("operation.yy") }}</div>
  198. <img
  199. @click="
  200. languageShow = !languageShow;
  201. read = false;
  202. "
  203. src="../../assets/images/icon/yuyan.png"
  204. alt=""
  205. />
  206. </div> -->
  207. </div>
  208. </div>
  209. <div class="openBox" :class="{ openBoxAc: openInd }">
  210. <HotList v-if="openInd === 1" @close="openInd = 0" />
  211. </div>
  212. <!-- 手动触发导览 -->
  213. </div>
  214. </template>
  215. <script>
  216. import HotList from "./components/hotList.vue";
  217. export default {
  218. components: { HotList },
  219. props: {
  220. hideTools: Boolean,
  221. loadingstate: Boolean,
  222. },
  223. data() {
  224. return {
  225. m: this.$route.query.m,
  226. id: this.$route.query.id,
  227. isGuide: true,
  228. fullscreen: false,
  229. musicState: false,
  230. isMyMobile: false,
  231. loading: true,
  232. // vr---热点列表---分享
  233. openInd: 0,
  234. read: false,
  235. languageShow: false,
  236. readVlaue: 19990,
  237. activeRead: "全部",
  238. language: localStorage.getItem("locale") || "zh-hk",
  239. languageList: [
  240. // {
  241. // name: "简体中文",
  242. // key: "zh-cn",
  243. // },
  244. {
  245. name: "繁體中文",
  246. key: "zh-hk",
  247. },
  248. {
  249. name: "English",
  250. key: "en",
  251. },
  252. {
  253. name: "Português",
  254. key: "pe",
  255. },
  256. ],
  257. readList: [],
  258. activeRead: this.$t("operation.readList0"),
  259. isFull: false,
  260. };
  261. },
  262. watch: {},
  263. computed: {},
  264. mounted() {
  265. window.addEventListener("resize", this.checkIfMobile);
  266. this.$nextTick(() => {
  267. window.addEventListener("loadfinish", () => {
  268. this.loading = false;
  269. // document.title = "珠海高新区中共党史学习教育园地线上展厅";
  270. });
  271. });
  272. // console.log("$route.query", this.$route.query);
  273. // this.$http({
  274. // method: "post",
  275. // data: {
  276. // num: this.m,
  277. // type: "visit",
  278. // },
  279. // url: `https://sit-visitcommon.4dage.com/api/visit/trend/saveType`,
  280. // }).then((res) => {
  281. // this.getReadData();
  282. // });
  283. // this.updateReadList();
  284. this.$root.$on("change-language", this.hanldlanguage);
  285. },
  286. methods: {
  287. handleFullscreen() {
  288. if (!this.fullscreen) {
  289. this.fullscreenFn();
  290. this.isFull = true;
  291. } else {
  292. this.exitFullscreen();
  293. this.isFull = false;
  294. }
  295. },
  296. // updateReadList() {
  297. // this.readList = [
  298. // this.$t("operation.readList0"),
  299. // this.$t("operation.readList1"),
  300. // this.$t("operation.readList2"),
  301. // this.$t("operation.readList3"),
  302. // ];
  303. // console.log("this.readList", this.readList);
  304. // // 保持当前选中的activeRead与语言一致
  305. // if (this.activeRead) {
  306. // const translated = this.readList.find(
  307. // (item) =>
  308. // this.$t(item) === this.activeRead || item === this.activeRead
  309. // );
  310. // this.activeRead = translated || this.readList[0];
  311. // }
  312. // },
  313. fullscreenFn() {
  314. let element = document.body;
  315. this.fullscreen = true;
  316. // 全屏
  317. if (element.requestFullscreen) element.requestFullscreen();
  318. else if (element.mozRequestFullScreen) element.mozRequestFullScreen();
  319. else if (element.webkitRequestFullscreen) element.webkitRequestFullscreen();
  320. else if (element.msRequestFullscreen) element.msRequestFullscreen();
  321. },
  322. exitFullscreen() {
  323. // 退出全屏
  324. if (document.exitFullscreen) document.exitFullscreen();
  325. else if (document.mozCancelFullScreen) document.mozCancelFullScreen();
  326. else if (document.webkitExitFullscreen) document.webkitExitFullscreen();
  327. this.fullscreen = false;
  328. },
  329. checkIfMobile() {
  330. const userAgent = navigator.userAgent || navigator.vendor || window.opera;
  331. this.isMyMobile = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent);
  332. },
  333. switchBGM(flag) {
  334. this.musicState = flag;
  335. if (flag) {
  336. window.manage.switchBgmState(true);
  337. document.querySelector("#openMusic").style.display = "none";
  338. document.querySelector("#closeMusic").style.display = "block";
  339. // 手动停止自动导览
  340. window.player.director.stopTour();
  341. } else {
  342. window.manage.switchBgmState(false);
  343. document.querySelector("#openMusic").style.display = "block";
  344. document.querySelector("#closeMusic").style.display = "none";
  345. }
  346. },
  347. // 点击vr
  348. openVR() {
  349. window.open("https://www.720yun.com/t/acvkiwdegqb?scene_id=34882556");
  350. },
  351. // 点击回到首页
  352. toHomeFu() {
  353. this.switchBGM(false);
  354. this.$emit("toHome");
  355. },
  356. hanldlanguage(item) {
  357. this.$i18n.locale = item.key;
  358. this.language = item.key;
  359. localStorage.setItem("locale", item.key);
  360. // this.updateReadList();
  361. this.$nextTick(() => {
  362. document.title = item.key === "zh-hk" ? "澳門基本法紀念館" : item.key === "en" ? "Macao Basic Law Memorial Museum" : item.key === "pe" ? "Museu Memorial da Lei Básica de Macau" : "澳門基本法紀念館";
  363. hotGroup?.children.forEach((item) => {
  364. item.setTitleElem();
  365. });
  366. });
  367. this.languageShow = false;
  368. },
  369. readClick(item) {
  370. console.log("item", item);
  371. this.activeRead = item;
  372. this.getReadData();
  373. },
  374. async getReadData() {
  375. let obj = {
  376. [this.$t("operation.readList0")]: "",
  377. [this.$t("operation.readList1")]: "year",
  378. [this.$t("operation.readList2")]: "month",
  379. [this.$t("operation.readList3")]: "day",
  380. };
  381. let res = await this.$http({
  382. method: "get",
  383. params: {
  384. num: this.m,
  385. type: obj[this.activeRead],
  386. },
  387. url: `https://sit-visitcommon.4dage.com//api/visit/trend/period/${this.m}`,
  388. });
  389. console.log("getReadData", res);
  390. this.readVlaue = (res.data && res.data.data && res.data.data.pcsVisit) || 0;
  391. },
  392. },
  393. beforeDestroy() {
  394. window.removeEventListener("resize", this.checkIfMobile);
  395. },
  396. };
  397. </script>
  398. <style lang="less" scoped>
  399. ::-webkit-scrollbar {
  400. width: 5px; /*高宽分别对应横竖滚动条的尺寸*/
  401. }
  402. ::-webkit-scrollbar-thumb {
  403. // box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
  404. background: #edd3b0;
  405. border-color: #edd3b0;
  406. color: #edd3b0;
  407. outline: none;
  408. }
  409. // 鼠标移入显示的文字和图片
  410. #gui-modes-inside {
  411. position: relative;
  412. }
  413. #gui-modes-dollhouse {
  414. position: relative;
  415. }
  416. #gui-modes-floorplan {
  417. position: relative;
  418. }
  419. .hoverTit {
  420. pointer-events: none;
  421. transition: all 0.5s;
  422. opacity: 1;
  423. position: absolute;
  424. left: 50%;
  425. transform: translateX(-50%);
  426. bottom: -26px;
  427. width: 80px;
  428. height: 37px;
  429. line-height: 30px;
  430. text-align: center;
  431. // background: url("../../assets/img/hoverTit.png");
  432. // background-size: 100% 100%;
  433. font-family: Source Han Serif CN;
  434. font-weight: 500;
  435. font-size: 13px;
  436. text-shadow: 0 0 black;
  437. color: #0f7562;
  438. }
  439. #play:hover {
  440. .hoverTit {
  441. // opacity: 1;
  442. }
  443. }
  444. #pause:hover {
  445. .hoverTit {
  446. opacity: 1;
  447. }
  448. }
  449. #gui-modes-map > div:hover {
  450. .hoverTit {
  451. opacity: 1;
  452. }
  453. }
  454. #volume {
  455. margin-right: 16px;
  456. }
  457. #volume,
  458. #gui-fullscreen,
  459. #gui-fullscreen-exit {
  460. position: relative;
  461. .hoverTit {
  462. width: 70px;
  463. }
  464. &:hover {
  465. .hoverTit {
  466. opacity: 1;
  467. }
  468. }
  469. }
  470. // 右侧菜单栏
  471. @wh: 58px;
  472. @margin: 0px;
  473. #play,
  474. #pause {
  475. margin-right: @margin;
  476. img {
  477. width: @wh;
  478. height: @wh;
  479. }
  480. }
  481. .rightViewContainer {
  482. display: flex !important;
  483. align-items: center !important;
  484. }
  485. #gui-modes-map {
  486. > div {
  487. margin-right: @margin;
  488. > img {
  489. width: @wh;
  490. height: @wh;
  491. display: block !important;
  492. }
  493. .active {
  494. display: none !important;
  495. }
  496. }
  497. .active {
  498. > img {
  499. display: none !important;
  500. }
  501. .active {
  502. display: block !important;
  503. }
  504. }
  505. }
  506. .pinBottom.right .ui-icon {
  507. background: none;
  508. }
  509. #gui-fullscreen img {
  510. width: 44px;
  511. }
  512. #volume {
  513. width: 58px;
  514. }
  515. #gui-fullscreen-exit img {
  516. width: 44px !important;
  517. }
  518. .bgandshare {
  519. background: none !important;
  520. // margin-right: 20px!important;
  521. > div {
  522. width: 100%;
  523. cursor: pointer;
  524. img {
  525. width: 100%;
  526. }
  527. }
  528. }
  529. .toHomeBoxMc {
  530. height: auto;
  531. }
  532. .toHomeBox {
  533. margin-right: 20px;
  534. cursor: pointer;
  535. position: relative;
  536. width: 58px;
  537. height: 58px;
  538. .yueduliangMC {
  539. display: flex;
  540. align-items: center;
  541. position: absolute;
  542. top: -50px;
  543. background: #fff;
  544. border-radius: 10px;
  545. height: auto;
  546. color: #0f7562;
  547. padding: 10px;
  548. top: -5px;
  549. left: -120px;
  550. .typelist {
  551. width: 55px;
  552. padding-right: 10px;
  553. margin-right: 10px;
  554. border-right: 1px solid #d2c9c1;
  555. }
  556. .typelist {
  557. .active {
  558. background: #0f7562;
  559. border-radius: 25px;
  560. color: #fff;
  561. }
  562. div {
  563. height: 20px;
  564. line-height: 20px;
  565. font-family: Source Han Serif CN;
  566. font-weight: 600;
  567. font-size: 14px;
  568. color: #00221c;
  569. opacity: 0.85;
  570. text-align: center;
  571. border-bottom: 1px solid #d2c9c1;
  572. &:last-child {
  573. border: none;
  574. }
  575. }
  576. }
  577. img {
  578. width: 20px;
  579. right: 3px;
  580. top: -7px;
  581. position: absolute;
  582. }
  583. }
  584. .yueduliang {
  585. display: flex;
  586. align-items: center;
  587. position: absolute;
  588. top: -50px;
  589. background: #fff;
  590. border-radius: 25px;
  591. height: 27px;
  592. color: #0f7562;
  593. padding: 0 10px;
  594. top: -35px;
  595. left: -96px;
  596. .triangle-down {
  597. width: 0;
  598. height: 0;
  599. border-left: 5px solid transparent;
  600. border-right: 5px solid transparent;
  601. border-top: 10px solid #fff;
  602. position: absolute;
  603. top: 24px;
  604. left: 120px;
  605. }
  606. div {
  607. padding: 0 7px;
  608. height: 20px;
  609. line-height: 20px;
  610. text-align: center;
  611. width: max-content;
  612. }
  613. .active {
  614. background: #0f7562;
  615. border-radius: 25px;
  616. color: #fff;
  617. }
  618. img {
  619. top: -5px;
  620. width: 14px;
  621. }
  622. }
  623. img {
  624. width: 58px;
  625. padding-top: 10px;
  626. position: relative;
  627. top: -10px;
  628. }
  629. .ppList {
  630. padding: 8px 10px;
  631. width: 99px;
  632. position: absolute;
  633. top: -112px;
  634. left: -18px;
  635. background: #fff;
  636. opacity: 0.85;
  637. border-radius: 8px;
  638. // display: none;
  639. div {
  640. height: 30px;
  641. line-height: 30px;
  642. font-family: Source Han Serif CN;
  643. font-weight: 600;
  644. font-size: 14px;
  645. color: #00221c;
  646. opacity: 0.85;
  647. text-align: center;
  648. border-bottom: 1px solid #d2c9c1;
  649. &:last-child {
  650. border: none;
  651. }
  652. }
  653. }
  654. &:hover {
  655. .hoverTit {
  656. opacity: 1;
  657. }
  658. .ppList {
  659. // display: block;
  660. }
  661. }
  662. }
  663. #gui {
  664. .open {
  665. bottom: calc(118px + 20px);
  666. // .pinBottom{
  667. // left: 85px;
  668. // }
  669. }
  670. }
  671. .pinBottom-container {
  672. background-image: url("../../assets/img/buttom.png");
  673. background-size: 100% 100%;
  674. background-position: 0% 0%;
  675. background-repeat: no-repeat;
  676. height: 100px;
  677. width: 920px;
  678. left: calc(50% - 460px);
  679. .pinBottom.left {
  680. left: 100px;
  681. }
  682. .pinBottom.right {
  683. right: 25px;
  684. }
  685. #myHotList {
  686. position: relative;
  687. float: left;
  688. width: 80px;
  689. display: flex;
  690. justify-content: center;
  691. align-items: center;
  692. cursor: pointer;
  693. }
  694. .openBox {
  695. opacity: 0;
  696. pointer-events: none;
  697. transition: all 0.3s;
  698. position: fixed;
  699. z-index: 9999;
  700. top: 0;
  701. left: 0;
  702. width: 100%;
  703. height: 100%;
  704. // background-color: rgba(255, 255, 255, 0.6);
  705. backdrop-filter: blur(10px);
  706. }
  707. .openBoxAc {
  708. opacity: 1;
  709. pointer-events: auto;
  710. }
  711. }
  712. // 移动端
  713. @media screen and (max-width: 1000px) {
  714. .hoverTit {
  715. opacity: 0 !important;
  716. }
  717. .yueduliang {
  718. left: -196px;
  719. }
  720. .viewContainer {
  721. & > div {
  722. img {
  723. // width: 33px !important;
  724. // height: 33px !important;
  725. }
  726. }
  727. }
  728. .pinBottom-container #myHotList {
  729. width: 50px;
  730. margin-bottom: 15px;
  731. }
  732. .pinBottom-container {
  733. background: none;
  734. .pinBottom.right.hideTarget {
  735. position: fixed;
  736. top: 200px;
  737. right: 10px;
  738. .rightViewContainer {
  739. flex-direction: column;
  740. & > div,
  741. #volume {
  742. // width: 50px !important;
  743. text-align: right;
  744. margin-right: 0;
  745. margin-bottom: 10px;
  746. display: none;
  747. & > .ppList {
  748. // display: flex;
  749. // justify-content: flex-end;
  750. left: -105px;
  751. top: -50px;
  752. }
  753. img {
  754. // width: 33px;
  755. // height: 33px;
  756. }
  757. }
  758. }
  759. }
  760. }
  761. }
  762. #myClickBox {
  763. display: flex;
  764. flex-direction: column;
  765. position: fixed;
  766. z-index: 999;
  767. left: 50%;
  768. bottom: 38px;
  769. width: 146px;
  770. height: 146px;
  771. transform: translateX(-50%);
  772. background: url("../../assets/img/m_btn.png") no-repeat center / contain;
  773. transition: 0.2s bottom linear;
  774. > div {
  775. flex: 1;
  776. }
  777. }
  778. .pinBottom.open #myClickBox {
  779. bottom: calc(118px + 20px);
  780. }
  781. </style>