黄琪勇 1 年之前
父节点
当前提交
d6672956e8
共有 1 个文件被更改,包括 36 次插入0 次删除
  1. 36 0
      src/views/coursewarePlay/videoPlay/videoPlay.vue

+ 36 - 0
src/views/coursewarePlay/videoPlay/videoPlay.vue

@@ -44,6 +44,7 @@
                   <div class="sliderSpeedCon">
                      <img @click="handlePalySpeed(playController.speedStep)" src="./img/jia.png" />
                      <el-slider
+                        tooltip-class="sliderSpeedTitTooltip"
                         class="sliderSpeed"
                         @change="handlePalySpeedChange"
                         v-model="playController.palySpeed"
@@ -72,6 +73,7 @@ import "tcplayer.js/dist/tcplayer.min.css"
 import { onMounted, onUnmounted, ref, reactive, watch } from "vue"
 import { UUID } from "@/libs/tools"
 import { formatTime } from "./tools"
+import { addClass, removeClass, setStyle } from "@/libs/tools"
 
 const props = defineProps<{
    listenWinEvents?: boolean
@@ -95,6 +97,32 @@ const timeController = reactive({
 const btnSpendDom = ref()
 const popoverSpendDom = ref()
 let _popoverSpendTime: any
+let _sliderSpeedTitTime: any
+const body = document.querySelector("body")
+const name = "_sliderSpeedTit"
+function handleSliderSpeedTitShow() {
+   const sliderSpeedTitTooltipDom = document.querySelector(".sliderSpeedTitTooltip.el-popper")
+   sliderSpeedTitTooltipDom?.setAttribute("data-popper-placement", "top")
+   setStyle(
+      document.querySelector(".sliderSpeedTitTooltip.el-popper .el-popper__arrow") as any,
+      {
+         transform: `translate(15px, 0)`
+      } as any
+   )
+   setStyle(
+      sliderSpeedTitTooltipDom as any,
+      {
+         "z-index": "3000",
+         inset: "auto auto 0px 0px",
+         transform: `translate(172px, ${-156 - (playController.palySpeed - 0.5) * 10 * 15}px)`
+      } as any
+   )
+   addClass(body, name)
+   clearTimeout(_sliderSpeedTitTime)
+   _sliderSpeedTitTime = setTimeout(() => {
+      removeClass(body, name)
+   }, 800)
+}
 // 定时隐藏
 function handlePopoverTimeHide() {
    _popoverSpendTime && clearTimeout(_popoverSpendTime)
@@ -227,6 +255,7 @@ function handlePalySpeed(value: number) {
    }
    playController.palySpeed = palySpeed
    handlePalySpeedChange(palySpeed)
+   handleSliderSpeedTitShow()
 }
 /* 是否显示控制器 */
 function handleVideoKeydown(e: KeyboardEvent) {
@@ -258,6 +287,13 @@ defineExpose({
 })
 </script>
 
+<style lang="scss">
+body._sliderSpeedTit {
+   .sliderSpeedTitTooltip {
+      display: initial !important;
+   }
+}
+</style>
 <style lang="scss" scoped>
 .videoPlay {
    width: 100%;