@vuux/video
Version:
Vue Nuxt 视频播放器
37 lines (36 loc) • 1.02 kB
JavaScript
import { onMounted as v, onUnmounted as c } from "vue";
import { Utils as d } from "@vuux/utils";
const w = (n, o) => {
const l = (i) => {
window.clearTimeout(o.clearTime), o.show = i;
}, s = (i = 500) => {
o.clearTime = window.setTimeout(() => {
o.show = "";
}, i);
};
let e = null;
const m = () => {
o.control = !0, e && (clearTimeout(e), e = null);
}, r = () => {
o.butStatus === "pause" && (e && clearTimeout(e), e = window.setTimeout(() => {
o.control = !1;
}, 5e3));
}, u = () => {
r();
}, t = d.debounce(() => {
m(), r();
}, 30);
return v(() => {
n.value && (n.value.addEventListener("mousemove", t), n.value.addEventListener("mouseleave", u));
}), c(() => {
n.value && (n.value.removeEventListener("mousemove", t), n.value.removeEventListener("mouseleave", u)), e && (clearTimeout(e), e = null);
}), {
onMouseEnter: l,
onMouseLeave: s,
handleMouseMove: t,
handleMouseLeave: u
};
};
export {
w as useControllerUI
};