windowAnimate.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <template>
  2. <view style="width: 100%; height: 100%">
  3. <div class="door-container">
  4. <div style="display: flex" v-show="windowcount == 1">
  5. <div
  6. class="autowindow_new"
  7. v-show="windowcount == 1"
  8. :style="{ height: height }"
  9. >
  10. <div
  11. class="window_new_1"
  12. :style="`transform: rotateX(${windowAngle}deg)`"
  13. id="subwindowpic11"
  14. ></div>
  15. <div
  16. class="window_new_2"
  17. :style="`transform: rotateX(${windowAngle}deg)`"
  18. id="subwindowpic12"
  19. ></div>
  20. <div
  21. class="window_new_3"
  22. :style="`transform: rotateX(${windowAngle}deg)`"
  23. id="subwindowpic13"
  24. ></div>
  25. <div
  26. class="window_new_4"
  27. :style="`transform: rotateX(${windowAngle}deg)`"
  28. id="subwindowpic14"
  29. ></div>
  30. <div
  31. class="window_new_5"
  32. :style="`transform: rotateX(${windowAngle}deg)`"
  33. id="subwindowpic15"
  34. ></div>
  35. </div>
  36. <div style="flex: 1">
  37. <video controls style="width: 100%"></video>
  38. </div>
  39. </div>
  40. <div style="" v-show="windowcount == 2">
  41. <div
  42. class="autowindow_new"
  43. v-show="windowcount == 2"
  44. :style="{ height: height }"
  45. >
  46. <div
  47. class="window_new_1"
  48. :style="`transform: rotateX(${windowAngle}deg)`"
  49. id="subwindowpic11"
  50. ></div>
  51. <div
  52. class="window_new_2"
  53. :style="`transform: rotateX(${windowAngle}deg)`"
  54. id="subwindowpic12"
  55. ></div>
  56. <div
  57. class="window_new_3"
  58. :style="`transform: rotateX(${windowAngle}deg)`"
  59. id="subwindowpic13"
  60. ></div>
  61. <div
  62. class="window_new_4"
  63. :style="`transform: rotateX(${windowAngle}deg)`"
  64. id="subwindowpic14"
  65. ></div>
  66. <div
  67. class="window_new_5"
  68. :style="`transform: rotateX(${windowAngle}deg)`"
  69. id="subwindowpic15"
  70. ></div>
  71. </div>
  72. <div
  73. class="autowindow_new"
  74. v-show="windowcount == 2"
  75. :style="{ height: height }"
  76. >
  77. <div
  78. class="window_new_1"
  79. :style="`transform: rotateX(${windowAngle1}deg)`"
  80. id="subwindowpic11"
  81. ></div>
  82. <div
  83. class="window_new_2"
  84. :style="`transform: rotateX(${windowAngle1}deg)`"
  85. id="subwindowpic12"
  86. ></div>
  87. <div
  88. class="window_new_3"
  89. :style="`transform: rotateX(${windowAngle1}deg)`"
  90. id="subwindowpic13"
  91. ></div>
  92. <div
  93. class="window_new_4"
  94. :style="`transform: rotateX(${windowAngle1}deg)`"
  95. id="subwindowpic14"
  96. ></div>
  97. <div
  98. class="window_new_5"
  99. :style="`transform: rotateX(${windowAngle1}deg)`"
  100. id="subwindowpic15"
  101. ></div>
  102. </div>
  103. </div>
  104. </div>
  105. </view>
  106. </template>
  107. <script>
  108. export default {
  109. data() {
  110. return {
  111. height: "200px",
  112. };
  113. },
  114. props: ["windowAngle", "windowAngle1", "windowcount"],
  115. methods: {},
  116. watch: {
  117. windownum(val) {
  118. if (val == 1) {
  119. this.height = "180px";
  120. }
  121. if (val == 2) {
  122. this.height = "180px";
  123. }
  124. },
  125. },
  126. onLoad(query) {},
  127. };
  128. </script>
  129. <style scoped>
  130. /*风窗样式*/
  131. div.autowindow_new {
  132. flex-shrink: 0;
  133. width: 50%;
  134. background-image: url(../../../../static/window/window-bk.png);
  135. background-size: 100% 100%;
  136. perspective: 800px;
  137. }
  138. /*风窗1 2 3 4*/
  139. div.window_new_1 {
  140. margin-top: 2%;
  141. margin-left: 4%;
  142. width: 92%;
  143. height: 15%;
  144. background-color: crimson;
  145. box-sizing: border-box;
  146. float: left;
  147. z-index: 1;
  148. transition: all 2s;
  149. background-image: url(../../../../static/window/window_new1.png);
  150. background-size: 100% 100%;
  151. }
  152. div.window_new_2 {
  153. margin-top: 1%;
  154. margin-left: 4%;
  155. width: 92%;
  156. height: 15%;
  157. background-color: crimson;
  158. box-sizing: border-box;
  159. float: left;
  160. z-index: 1;
  161. transition: all 2s;
  162. background-image: url(../../../../static/window/window_new1.png);
  163. background-size: 100% 100%;
  164. }
  165. div.window_new_3 {
  166. margin-top: 1%;
  167. margin-left: 4%;
  168. width: 92%;
  169. height: 15%;
  170. background-color: crimson;
  171. box-sizing: border-box;
  172. float: left;
  173. z-index: 1;
  174. transition: all 2s;
  175. background-image: url(../../../../static/window/window_new1.png);
  176. background-size: 100% 100%;
  177. }
  178. div.window_new_4 {
  179. margin-top: 1%;
  180. margin-left: 4%;
  181. width: 92%;
  182. height: 15%;
  183. background-color: crimson;
  184. box-sizing: border-box;
  185. float: left;
  186. z-index: 1;
  187. transition: all 2s;
  188. background-image: url(../../../../static/window/window_new1.png);
  189. background-size: 100% 100%;
  190. }
  191. div.window_new_5 {
  192. margin-top: 1%;
  193. margin-left: 4%;
  194. width: 92%;
  195. height: 15%;
  196. background-color: crimson;
  197. box-sizing: border-box;
  198. float: left;
  199. z-index: 1;
  200. transition: all 2s;
  201. background-image: url(../../../../static/window/window_new1.png);
  202. background-size: 100% 100%;
  203. }
  204. div.window_new_1 {
  205. transition: all 2s ease;
  206. transform-origin: center center;
  207. }
  208. div.window_new_2 {
  209. transition: all 2s ease;
  210. transform-origin: center center;
  211. }
  212. div.window_new_3 {
  213. transition: all 2s ease;
  214. transform-origin: center center;
  215. }
  216. div.window_new_4 {
  217. transition: all 2s ease;
  218. transform-origin: center center;
  219. }
  220. div.window_new_5 {
  221. transition: all 2s ease;
  222. transform-origin: center center;
  223. }
  224. .open {
  225. transform: rotateX(100deg);
  226. }
  227. .close {
  228. transform: rotateX(0deg);
  229. }
  230. /*使用css变形功能
  231. div.door:hover div.left_door{
  232. transform:rotateY(100deg);
  233. }
  234. div.door:hover div.right_door{
  235. transform:rotateY(-100deg);
  236. }*/
  237. </style>