index.tsx 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. import { defineComponent, toRefs, reactive, onMounted, ref } from 'vue'
  2. import classes from './index.module.less'
  3. import { ElButton, ElIcon, ElPopover } from 'element-plus'
  4. import { scrollAnimation } from '@/util/scroll'
  5. import silder1 from './images/silder1.png'
  6. import silder2 from './images/silder2.svg'
  7. import silder3 from './images/silder3.png'
  8. import silder4 from './images/silder4.svg'
  9. import silder5 from './images/silder5.svg'
  10. import download from './images/download.png'
  11. import siderTop from './images/siderTop.png'
  12. import weixin from '@/common/images/weixinCode.jpg'
  13. import studentCode from '@/common/images/studentCode.png'
  14. import teacherCode from '@/common/images/teacherCode.png'
  15. import andIcon from '@/views/downLoad/images/andIcon.png'
  16. import ios from '@/views/downLoad/images/iosIcon.png'
  17. export default defineComponent({
  18. name: 'silder',
  19. setup() {
  20. const state = reactive({
  21. showgo: false,
  22. hoverApp: false,
  23. hoverChat: false,
  24. hoverTop: false
  25. })
  26. const gotop = () => {
  27. const currentY =
  28. document.documentElement.scrollTop || document.body.scrollTop
  29. scrollAnimation(currentY, 0)
  30. }
  31. onMounted(() => {
  32. window.onscroll = function () {
  33. if (document.documentElement.scrollTop > 300) {
  34. state.showgo = true
  35. } else {
  36. state.showgo = false
  37. }
  38. }
  39. })
  40. return () => (
  41. <>
  42. <div class={classes.silderWrap}>
  43. <div class={classes.silderList}>
  44. {/* <ElPopover
  45. placement="left"
  46. trigger="hover"
  47. popper-class="Mopopver"
  48. v-slots={{
  49. reference: () => (
  50. <div class={classes.silderItem}>
  51. <img src={silder2} />
  52. <p>电话咨询</p>
  53. <div class={classes.line}></div>
  54. </div>
  55. )
  56. }}
  57. >
  58. <div>
  59. <p class={classes.hoverTitle}>咨询电话:</p>
  60. <p class={classes.hoverMsg}>400-8851569</p>
  61. </div>
  62. </ElPopover> */}
  63. <ElPopover
  64. width='230px'
  65. placement="left"
  66. trigger="hover"
  67. popper-class="silderPopver"
  68. v-slots={{
  69. reference: () => (
  70. <div class={classes.silderItem} onMouseover={() => {
  71. state.hoverApp = true
  72. }}
  73. onMouseout={() => {
  74. state.hoverApp = false
  75. }}>
  76. {state.hoverApp ? <img src={silder3} />: <p>APP下载</p>}
  77. <div class={classes.line}></div>
  78. </div>
  79. )
  80. }}
  81. >
  82. <div>
  83. <div class="codeItem">
  84. <img class="codeImg" src={studentCode} width="111" height="111" />
  85. <p style={{ 'text-align': 'center' }}>酷乐秀</p>
  86. <div class='iconWrap'>
  87. <div
  88. class='iconItem'
  89. >
  90. <img src={ios} alt="" />
  91. <span>ios</span>
  92. </div>
  93. <div class='iconItem'>
  94. <img src={andIcon} alt="" />
  95. <span>Andrid</span>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="codeItem">
  100. <img class="codeImg" src={teacherCode} width="111" height="111" />
  101. <p style={{ 'text-align': 'center' }}>酷乐秀学院</p>
  102. <div class='iconWrap'>
  103. <div
  104. class='iconItem'
  105. >
  106. <img src={ios} alt="" />
  107. <span>ios</span>
  108. </div>
  109. <div class='iconItem'>
  110. <img src={andIcon} alt="" />
  111. <span>Andrid</span>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </ElPopover>
  117. <ElPopover
  118. placement="left"
  119. width='230px'
  120. trigger="hover"
  121. popper-class="silderPopver"
  122. v-slots={{
  123. reference: () => (
  124. <div
  125. class={classes.silderItem}
  126. onMouseover={() => {
  127. state.hoverChat = true
  128. }}
  129. onMouseout={() => {
  130. state.hoverChat = false
  131. }}
  132. >
  133. {state.hoverChat ? <img src={silder1} /> : <p>关注微信</p>}
  134. <div class={classes.line}></div>
  135. {/* <div class={classes.wall}></div> */}
  136. </div>
  137. )
  138. }}
  139. >
  140. <div>
  141. <div class="codeItem">
  142. <img class="codeImg" src={weixin} width="111" height="111" />
  143. <p style={{ 'text-align': 'center' }}>打开微信扫一扫 <br />关注酷乐秀公众号</p>
  144. </div>
  145. </div>
  146. </ElPopover>
  147. {/* {state.showgo ? ( */}
  148. <div class={classes.goTop} onClick={gotop}>
  149. <img src={siderTop} />
  150. {/* 回到顶部 */}
  151. </div>
  152. {/* ) : (
  153. ''
  154. )} */}
  155. </div>
  156. </div>
  157. </>
  158. )
  159. }
  160. })