menu.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813
  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. <!-- 返回按钮 -->
  7. <div class="backBtn" @click="goBack" v-if="screenWidth > 1000">
  8. <img class="imgLimit"
  9. :style="{ width: screenWidth > 1000 ? parseInt(screenWidth / 32) + 'px' : '40px', height: screenWidth > 1000 ? parseInt(screenWidth / 32) + 'px' : '40px' }"
  10. :src="require(`@/assets/img/back.png`)" />
  11. <span>返回</span>
  12. </div>
  13. <!-- 展开按钮 -->
  14. <div class="myViewShowBox" @click="viewShow = true" :class="{ myViewShowBoxAc: !viewShow }">
  15. <img :src="require(`@/assets/img/show.png`)" />
  16. </div>
  17. <!-- 展开收起小地图 -->
  18. <div class="smMapBox" :class="{ smMapBoxHide: !smMapShow }">
  19. <div class="smMapBoxSon" @click="smMapShow = !smMapShow">
  20. <img src="../../assets/img/mapIcon.svg" alt="" />
  21. </div>
  22. </div>
  23. <!-- 音乐按钮 -->
  24. <div class="myMusicBox" id="volume">
  25. <div>
  26. <img id="openMusic" style="display: block !important" @click="switchBGM(true)" src="../../assets/img/openM.png"
  27. alt="" title="打开音乐" />
  28. <img id="closeMusic" style="display: none !important" @click="switchBGM(false)" src="../../assets/img/closeM.png"
  29. alt="" title="关闭音乐" />
  30. </div>
  31. </div>
  32. <div id="lineTop" class="pinBottom left" :class="{ viewShowAc: !viewShow }"
  33. :style="{ bottom: timer ? '140px' : !isGuide && screenWidth > 1000 ? '150px ' : isGuide && screenWidth > 1000 ? '20px ' : '0px ' }">
  34. <div>
  35. <div class="viewContainer">
  36. <div class="viewXian">
  37. <!-- 线段 -->
  38. <img src="../../assets/img/xian.png" alt="" />
  39. <!-- 收起按钮 -->
  40. <div class="viewShowIcon" @click="viewShow = false">
  41. <img :src="require(`@/assets/img/hide.png`)" />
  42. </div>
  43. </div>
  44. <div id="previous" class="previous desktop-only ui-icon" style="display: none">
  45. <a>
  46. <img rel="tooltip" title="" :src="require('@/assets/images/play.png')" data-original-title="播放" />
  47. </a>
  48. </div>
  49. <div id="play" class="ui-icon" rel="tooltip" data-original-title="播放">
  50. <!-- icon文字 -->
  51. <div class="iconTxt" :style="{ paddingLeft: screenWidth > 1000 && screenWidth < 2000 ? '80px' : '' }">{{
  52. screenWidth < 1000 ? '自动导览' : '〚自动导览〛' }}</div>
  53. <a>
  54. <img :src="require('@/assets/images/icon/play.png')" />
  55. </a>
  56. </div>
  57. <div id="pause" class="ui-icon" style="display: none">
  58. <!-- icon文字 -->
  59. <div class="iconTxt iconTxtAc"
  60. :style="{ paddingLeft: screenWidth > 1000 && screenWidth < 2000 ? '80px' : '' }">{{ screenWidth < 1000
  61. ? '自动导览' : '〚自动导览〛' }}</div>
  62. <a>
  63. <img rel="tooltip" title="" :src="require('@/assets/images/icon/pause.png')"
  64. data-original-title="暂停" />
  65. </a>
  66. </div>
  67. <div id="next" class="next desktop-only ui-icon wide" style="display: none">
  68. <a>
  69. <i rel="tooltip" title="" class="icon icon-dpad-right" data-original-title="下一个"></i>
  70. </a>
  71. </div>
  72. <div id="gui-modes-map" class="ui-icon double active">
  73. <div data-original-title="导览" @click="isGuide = !isGuide" id="pullTab" rel="tooltip" title="场景导览"
  74. :style="{ paddingLeft: screenWidth > 1000 && screenWidth < 2000 ? '100px' : '' }">
  75. <!-- icon文字 -->
  76. <div class="iconTxt" :class="{ iconTxtAc: !isGuide }"
  77. :style="{ marginLeft: screenWidth > 1000 && screenWidth < 2000 ? '50px' : '' }">
  78. {{ screenWidth < 1000 ? '导览列表' : '〚导览列表〛' }} </div>
  79. <img title="" class="icon icon-inside" :src="require(`@/assets/images/icon/auto${!isGuide ? '_active' : ''
  80. }.png`)
  81. " />
  82. </div>
  83. <!-- 热点列表 -->
  84. <div class="hotListBox" @click="meanInd = true"
  85. :style="{ paddingRight: screenWidth > 1000 && screenWidth < 2000 ? '' : '', paddingLeft: screenWidth > 2000 ? '150px' : '' }">
  86. <div class="iconTxt"
  87. :style="{ paddingRight: screenWidth > 1000 && screenWidth < 2000 ? '' : '', marginLeft: screenWidth > 2000 ? '75px' : '' }">
  88. {{ screenWidth < 1000 ? '热点列表' : '〚热点列表〛' }}</div>
  89. <div class="hotListSon">
  90. <img :src="require(`@/assets/images/icon/${meanInd ? 'hotAc' : 'hot'
  91. }.png`)
  92. " />
  93. </div>
  94. </div>
  95. <div data-original-title="全景漫游" id="gui-modes-inside" rel="tooltip">
  96. <img class="icon icon-inside" :src="require('@/assets/images/icon/inside.png')" />
  97. <img class="icon icon-inside active" :src="require('@/assets/images/icon/inside_active.png')" />
  98. </div>
  99. <div title="迷你漫游" data-original-title="迷你模型" id="gui-modes-dollhouse" rel="tooltip"
  100. :style="{ paddingRight: screenWidth > 1000 && screenWidth < 2000 ? '80px' : '', paddingLeft: screenWidth > 2000 ? '300px' : '' }">
  101. <!-- icon文字 -->
  102. <div class="iconTxt"
  103. :style="{ paddingRight: screenWidth > 1000 && screenWidth < 2000 ? '80px' : '', marginLeft: screenWidth > 2000 ? '150px' : '' }">
  104. {{ screenWidth < 1000 ? '迷你模型' : '〚迷你模型〛' }}</div>
  105. <img class="icon icon-inside" :src="require('@/assets/images/icon/dollhouse.png')" />
  106. <img class="icon icon-inside active"
  107. :src="require('@/assets/images/icon/dollhouse_active.png')" />
  108. </div>
  109. <div data-original-title="俯视图" id="gui-modes-floorplan" rel="tooltip" title="顶部俯视"
  110. :style="{ paddingRight: screenWidth > 1000 && screenWidth < 2000 ? '40px' : '', paddingLeft: screenWidth > 2000 ? '250px' : '' }">
  111. <!-- icon文字 -->
  112. <div class="iconTxt"
  113. :style="{ paddingRight: screenWidth > 1000 && screenWidth < 2000 ? '40px' : '', marginLeft: screenWidth > 2000 ? '125px' : '' }">
  114. {{ screenWidth < 1000 ? '俯瞰视图' : '〚俯瞰视图〛' }}</div>
  115. <img class="icon icon-inside" :src="require('@/assets/images/icon/floor.png')" />
  116. <img class="active icon icon-inside active"
  117. :src="require('@/assets/images/icon/floor_active.png')" />
  118. </div>
  119. <div title="打开音乐" data-original-title="打开音乐" id="volumeBid" rel="tooltip"
  120. :style="{ paddingLeft: screenWidth > 2000 ? '380px' : '' }" @click="switchBGM2(!isMusic)">
  121. <!-- icon文字 -->
  122. <div class="iconTxt" :class="isMusic ? 'iconTxtAc' : ''"
  123. :style="{ marginLeft: screenWidth > 2000 ? '40px !important' : '' }">{{
  124. isMusic ? '〚关闭音乐〛' : '〚打开音乐〛' }}</div>
  125. <img v-if="isMusic" src="../../assets/img/openM.png" title="打开音乐" />
  126. <img v-if="!isMusic" src="../../assets/img/closeM.png" alt="" title="关闭音乐" />
  127. </div>
  128. <div data-original-title="VR" id="vr" rel="tooltip" title="" style="display: none">
  129. <img class="icon icon-inside" :src="require('@/assets/images/VR.png')" />
  130. </div>
  131. <div data-original-title="热点列表" id="hotList" rel="tooltip" title="">
  132. <img class="icon icon-inside" :src="require('@/assets/images/hotlist.png')" />
  133. <img class="icon icon-inside active" :src="require('@/assets/images/hotlist.png')" />
  134. </div>
  135. <div data-original-title="消除外壳" id="gui-remove-face" rel="tooltip" title=""
  136. style="display: none; float: left">
  137. <img class="icon icon-inside" :src="require('@/assets/images/face.jpg')" />
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. <div class="pinBottom right hideTarget">
  144. <div class="rightViewContainer clearfix">
  145. <!-- 添加自己写的逻辑的楼层选择 -->
  146. <FloorSelect />
  147. <div class="gui-floor">
  148. <div class="gui-floor-title"></div>
  149. <div class="gui-floor-icon">
  150. <span class="gui-floor-number"></span>
  151. </div>
  152. <div class="container"></div>
  153. </div>
  154. <div id="vr" class="ui-icon wide hidden" style="display: none">
  155. <a>
  156. <i rel="tooltip" title="{[{ VIEW_IN_VR }]}" class="icon icon-webvr"></i>
  157. </a>
  158. </div>
  159. <div id="sharing" class="ui-icon wide hidden" style="display: none">
  160. <a>
  161. <i rel="tooltip" title="{[{ SOCIAL_SHARING }]}" class="icon icon-share"></i>
  162. </a>
  163. </div>
  164. <!-- <div class="pull-right terms terms2">
  165. <a>{[{ TERMS }]}</a>
  166. </div> -->
  167. </div>
  168. </div>
  169. <!-- 热点列表组件 -->
  170. <Hotspot v-if="meanInd" @close="meanInd = false" />
  171. </div>
  172. </template>
  173. <script>
  174. //引入组件
  175. import Hotspot from "./compomemt/hotspot";
  176. import FloorSelect from "./compomemt/floorSelect";
  177. export default {
  178. components: { Hotspot, FloorSelect },
  179. data() {
  180. return {
  181. // 自动导览切换
  182. isGuide: true,
  183. // 热点列表的显示和隐藏
  184. meanInd: false,
  185. // 整个导览的收起和展开
  186. viewShow: true,
  187. // 小地图的展开和收起
  188. smMapShow: true,
  189. isMusic: false,
  190. screenWidth: null,
  191. dialogWidth: 0,
  192. timer: false
  193. };
  194. },
  195. watch: {
  196. // 打开热点列表的时候隐藏使用指南
  197. meanInd(val) {
  198. if (val) {
  199. const dom = document.querySelector("#interaction-modal");
  200. dom.style.opacity = "0";
  201. dom.style.pointerEvents = "none";
  202. }
  203. },
  204. // 屏幕宽度
  205. screenWidth: {
  206. handler: function (val, oldVal) {
  207. this.dialogWidth = val
  208. console.log(this.dialogWidth)
  209. },
  210. },
  211. viewShow(val) {
  212. const dom = document.querySelector("#drawer-container");
  213. if (val) {
  214. dom.style.transform = "translateX(0px)";
  215. } else {
  216. dom.style.transform = "translateX(-500px)";
  217. }
  218. },
  219. smMapShow(val) {
  220. if (val) {
  221. $(".cad").css({ right: "0px" });
  222. } else {
  223. $(".cad").css({ right: "-140px" });
  224. }
  225. },
  226. },
  227. computed: {},
  228. mounted() {
  229. this.screenWidth = document.body.clientWidth
  230. window.onresize = () => {
  231. return (() => {
  232. this.screenWidth = document.body.clientWidth
  233. })()
  234. }
  235. if (this.screenWidth > 1000) {
  236. console.log('走')
  237. setTimeout(() => {
  238. this.timer = true
  239. }, 3000)
  240. setTimeout(() => {
  241. this.timer = false
  242. }, 5200)
  243. }
  244. },
  245. methods: {
  246. goBack() {
  247. console.log(window.history)
  248. // 如果有上一页,则传递信息
  249. if (window.history.length === 1) {
  250. window.close()
  251. } else {
  252. // 跨域传递信息
  253. window.parent.postMessage({ command: "back" }, "*");
  254. }
  255. },
  256. switchBGM(flag) {
  257. if (flag) {
  258. window.manage.switchBgmState(true);
  259. document.querySelector("#openMusic").style.display = "none";
  260. document.querySelector("#closeMusic").style.display = "block";
  261. } else {
  262. window.manage.switchBgmState(false);
  263. document.querySelector("#openMusic").style.display = "block";
  264. document.querySelector("#closeMusic").style.display = "none";
  265. }
  266. },
  267. switchBGM2(flag) {
  268. if (flag) {
  269. window.manage.switchBgmState(true);
  270. // document.querySelector("#openMusic").style.display = "none !important";
  271. // document.querySelector("#closeMusic").style.display = "block ";
  272. this.isMusic = true
  273. } else {
  274. window.manage.switchBgmState(false);
  275. // document.querySelector("#openMusic").style.display = "block ";
  276. // document.querySelector("#closeMusic").style.display = "none !important";
  277. this.isMusic = false
  278. }
  279. console.log(this.isMusic)
  280. },
  281. },
  282. created() {
  283. }
  284. };
  285. </script>
  286. <style lang="less" scoped>
  287. // 隐藏原本的楼层选择
  288. <<<<<<< HEAD
  289. .gui-floor {
  290. display: none !important;
  291. }
  292. =======
  293. // .gui-floor{
  294. // display: none !important;
  295. // }
  296. >>>>>>> f468469ef5990cd123ca81a9344aa30f41158681
  297. #hotList {
  298. display: none !important;
  299. }
  300. ::-webkit-scrollbar {
  301. width: 5px;
  302. /*高宽分别对应横竖滚动条的尺寸*/
  303. }
  304. ::-webkit-scrollbar-thumb {
  305. // box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
  306. background: #edd3b0;
  307. border-color: #edd3b0;
  308. color: #edd3b0;
  309. outline: none;
  310. }
  311. #gui-modes-inside {
  312. position: relative;
  313. display: none !important;
  314. }
  315. #gui-modes-dollhouse {
  316. position: relative;
  317. }
  318. #volumeBid {
  319. position: relative;
  320. @media screen and (max-width: 1000px) {
  321. display: none !important;
  322. }
  323. }
  324. #gui-modes-floorplan {
  325. position: relative;
  326. }
  327. // 右侧菜单栏
  328. @wh: 44px;
  329. @margin: 0px;
  330. #play,
  331. #pause {
  332. margin-right: @margin;
  333. img {
  334. width: @wh;
  335. height: @wh;
  336. @media screen and (min-width: 1000px) and (max-width: 2000px) {
  337. width: 60px !important;
  338. height: 60px !important;
  339. }
  340. @media screen and (min-width: 2000px) {
  341. width: 80px !important;
  342. height: 80px !important;
  343. }
  344. }
  345. }
  346. .rightViewContainer {
  347. display: flex !important;
  348. align-items: center !important;
  349. }
  350. #gui-modes-map {
  351. // @media screen and (min-width: 2000px) {
  352. // min-width: 500px;
  353. // }
  354. >div {
  355. margin-right: @margin;
  356. >img {
  357. width: 44px;
  358. height: 44px;
  359. display: block !important;
  360. @media screen and (min-width: 1000px) and (max-width: 2000px) {
  361. width: 60px !important;
  362. height: 60px !important;
  363. }
  364. @media screen and (min-width: 2000px) {
  365. width: 80px !important;
  366. height: 80px !important;
  367. }
  368. }
  369. .active {
  370. display: none !important;
  371. }
  372. }
  373. .active {
  374. >img {
  375. display: none !important;
  376. }
  377. .active {
  378. display: block !important;
  379. }
  380. }
  381. }
  382. .pinBottom.right .ui-icon {
  383. background: none;
  384. }
  385. #gui-fullscreen img {
  386. width: 40px;
  387. }
  388. .guiUp {
  389. @media screen and (min-width:1000px) {
  390. bottom: 140px;
  391. }
  392. }
  393. #volume {
  394. width: 40px;
  395. @media screen and (min-width: 1000px) {
  396. display: none !important;
  397. }
  398. // @media screen and (min-width: 1000px) and(max-width: 2000px) {
  399. // width: 60px;
  400. // }
  401. // @media screen and (min-width: 2000px) {
  402. // width: 80px;
  403. // }
  404. }
  405. #volumeBig {}
  406. #gui-fullscreen-exit img {
  407. width: 40px !important;
  408. }
  409. .bgandshare {
  410. background: none !important;
  411. // margin-right: 20px!important;
  412. >div {
  413. width: 100%;
  414. cursor: pointer;
  415. img {
  416. width: 100%;
  417. }
  418. }
  419. }
  420. // --------------------
  421. .pinBottom-container {
  422. .iconTxt {
  423. font-size: 12px;
  424. color: #fff;
  425. position: absolute;
  426. bottom: -18px;
  427. left: 50%;
  428. transform: translateX(-50%);
  429. width: 100%;
  430. text-align: center;
  431. @media screen and (min-width: 2000px) {
  432. font-size: 16px;
  433. }
  434. // &::before {
  435. // content: "";
  436. // position: absolute;
  437. // right: -4px;
  438. // bottom: 37px;
  439. // width: 9px;
  440. // height: 7px;
  441. // background-image: url("../../assets/img/dian.png");
  442. // background-size: 100% 100%;
  443. // }
  444. }
  445. .iconTxtAc {
  446. color: #0a93cd;
  447. }
  448. // .active{
  449. // .iconTxt{
  450. // color: #13709e;
  451. // }
  452. // }
  453. #gui-modes-dollhouse.active {
  454. .iconTxt {
  455. color: #0a93cd;
  456. }
  457. }
  458. #gui-modes-floorplan.active {
  459. .iconTxt {
  460. color: #0a93cd;
  461. }
  462. }
  463. .hotListBox {
  464. cursor: pointer;
  465. float: left;
  466. width: 60px;
  467. height: 44px;
  468. position: relative;
  469. z-index: 100;
  470. @media screen and (min-width: 1000px) {
  471. height: auto;
  472. width: 300px;
  473. }
  474. .hotListSon {
  475. text-align: center;
  476. &>img {
  477. width: 44px !important;
  478. height: 44px !important;
  479. @media screen and (min-width: 1000px) and (max-width: 2000px) {
  480. width: 60px !important;
  481. height: 60px !important;
  482. }
  483. @media screen and (min-width: 2000px) {
  484. width: 80px !important;
  485. height: 80px !important;
  486. }
  487. }
  488. }
  489. }
  490. .viewContainer {
  491. padding: 10px 10px 34px 10px;
  492. background-color: #171c1f;
  493. border-radius: 0;
  494. width: 100vw;
  495. max-width: 500px;
  496. justify-content: center;
  497. display: flex;
  498. position: relative;
  499. @media screen and (min-width:1000px) {
  500. background-color: #ebebeb00;
  501. max-width: none;
  502. }
  503. .viewXian {
  504. padding: 10px 10px 46px 10px;
  505. position: absolute;
  506. width: 100%;
  507. max-width: 500px;
  508. height: 100%;
  509. left: 0;
  510. top: 0;
  511. @media screen and (min-width:1000px) {
  512. display: flex;
  513. justify-content: center;
  514. max-width: none;
  515. padding: 0px 10px 46px 10px;
  516. margin-top: -5px;
  517. }
  518. @media screen and (min-width:2000px) {
  519. display: flex;
  520. justify-content: center;
  521. max-width: none;
  522. padding: 0px 10px 46px 10px;
  523. margin-top: -10px;
  524. }
  525. &>img {
  526. width: 100%;
  527. height: 100%;
  528. object-fit: contain;
  529. @media screen and (min-width:1000px) {
  530. width: 80%;
  531. object-fit: inherit;
  532. }
  533. }
  534. .viewShowIcon {
  535. cursor: pointer;
  536. position: absolute;
  537. right: 7px;
  538. top: 4px;
  539. @media screen and (min-width: 1000px) {
  540. position: static;
  541. right: none;
  542. top: none;
  543. margin-top: 4px;
  544. }
  545. &>img {
  546. width: 30px;
  547. @media screen and (min-width: 1000px) and (max-width: 2000px) {
  548. width: 40px;
  549. z-index: 9999;
  550. position: absolute;
  551. }
  552. @media screen and (min-width: 2000px) {
  553. width: 52px;
  554. z-index: 9999;
  555. position: absolute;
  556. }
  557. }
  558. }
  559. }
  560. }
  561. // 兼容小手机
  562. @media screen and (max-width: 370px) {
  563. .viewContainer {
  564. padding: 10px 0 34px 0;
  565. .viewXian {
  566. padding: 10px 0px 46px 0px;
  567. .viewShowIcon {
  568. z-index: 999;
  569. position: absolute;
  570. right: 0px;
  571. top: 4px;
  572. &>img {
  573. width: 30px;
  574. }
  575. }
  576. }
  577. }
  578. }
  579. .backBtn {
  580. cursor: pointer;
  581. position: fixed;
  582. z-index: 99;
  583. top: 36px;
  584. left: 10px;
  585. opacity: 1;
  586. pointer-events: auto;
  587. display: flex;
  588. align-items: center;
  589. img {
  590. width: 70px;
  591. height: 70px;
  592. }
  593. span {
  594. color: #FFFAE9;
  595. font-family: 'Source Han Serif CN-Bold';
  596. font-size: 2.5em;
  597. text-shadow: 0px 0px 30px #9F7B46;
  598. -webkit-background-clip: text;
  599. // -webkit-text-fill-color: transparent;
  600. }
  601. }
  602. .myViewShowBox {
  603. cursor: pointer;
  604. position: fixed;
  605. z-index: 99;
  606. bottom: 36px;
  607. left: 10px;
  608. opacity: 0;
  609. pointer-events: none;
  610. transition: all 0.5s;
  611. &>img {
  612. width: 30px;
  613. @media screen and (min-width:1000px) and (max-width: 2000px) {
  614. width: 40px;
  615. }
  616. @media screen and (min-width:2000px) {
  617. width: 50px;
  618. }
  619. }
  620. }
  621. .myViewShowBoxAc {
  622. opacity: 1;
  623. pointer-events: auto;
  624. }
  625. .viewShowAc {
  626. transform: translateX(-500px);
  627. @media screen and (min-width:1000px) {
  628. transform: translateX(-100vw);
  629. }
  630. }
  631. // 音乐
  632. .myMusicBox {
  633. cursor: pointer;
  634. position: fixed;
  635. z-index: 99;
  636. right: 10px;
  637. top: 320px;
  638. width: 40px;
  639. @media screen and (min-width: 1000px) and(max-width: 2000px) {
  640. width: 60px;
  641. }
  642. @media screen and (min-width: 2000px) {
  643. width: 80px;
  644. }
  645. &>div {
  646. width: 40px;
  647. @media screen and (min-width: 1000px) and(max-width: 2000px) {
  648. width: 60px;
  649. }
  650. @media screen and (min-width: 2000px) {
  651. width: 80px;
  652. }
  653. &>img {
  654. width: 40px;
  655. @media screen and (min-width: 1000px) and(max-width: 2000px) {
  656. width: 60px;
  657. }
  658. @media screen and (min-width: 2000px) {
  659. width: 80px;
  660. }
  661. }
  662. }
  663. }
  664. .smMapBox {
  665. position: fixed;
  666. z-index: 99;
  667. top: 180px;
  668. right: 78px;
  669. width: 140px;
  670. height: 16px;
  671. transition: all 0.3s;
  672. transform: rotate(90deg);
  673. // @media screen and (min-width: 1000px) {
  674. // right: 98px;
  675. // }
  676. .smMapBoxSon {
  677. border-radius: 0 0 4px 4px;
  678. height: 16px;
  679. background-color: rgba(0, 0, 0, 0.3);
  680. width: 40px;
  681. margin: 0 auto;
  682. text-align: center;
  683. &>img {
  684. position: relative;
  685. top: -5px;
  686. width: 20px;
  687. }
  688. }
  689. }
  690. .smMapBoxHide {
  691. right: -61px;
  692. transform: rotate(-90deg);
  693. .smMapBoxSon {
  694. border-radius: 4px 4px 0px 0px;
  695. }
  696. }
  697. }
  698. </style>