首页 > 编程语言 >视频直播系统源码,vue自定义模拟滚动条

视频直播系统源码,vue自定义模拟滚动条

时间:2023-07-26 14:11:57浏览次数:39  
标签:el vue 自定义 height 滚动条 width 源码 parseInt

视频直播系统源码,vue自定义模拟滚动条

vscroll自定义滚动条模板

 


<template>
  <div class="vui__scrollbar" ref="ref__box" @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave" v-resize="handleResize">
    <div :class="['vscroll__wrap', {native: native}]" ref="ref__wrap" @scroll="handleScroll">
      <div class="vscroll__view" v-resize="handleResize"><slot /></div>
    </div>
    <!-- //滚动条 -->
    <div :class="['vscroll__bar vertical', {ishide: !isShow}]" @mousedown="handleClickTrack($event, 0)" :style="{'width': parseInt(size)>=0 ? parseInt(size)+'px' : '', 'z-index': parseInt(zIndex)>=0 ? parseInt(zIndex) : ''}">
      <div class="vscroll__thumb" ref="ref__barY" :style="{'background': color, 'height': barHeight+'px'}" @mousedown="handleDragThumb($event, 0)"></div>
    </div>
    <div :class="['vscroll__bar horizontal', {ishide: !isShow}]" @mousedown="handleClickTrack($event, 1)" :style="{'height': parseInt(size)>=0 ? parseInt(size)+'px' : '', 'z-index': parseInt(zIndex)>=0 ? parseInt(zIndex) : ''}">
      <div class="vscroll__thumb" ref="ref__barX" :style="{'background': color, 'width': barWidth+'px'}" @mousedown="handleDragThumb($event, 1)"></div>
    </div>
  </div>
</template>
 

vue.js中通过directive自定义指令函数来动态监听DOM尺寸 (宽高改变)。

 


// 监听元素/DOM尺寸变化
directives: {
    'resize': {
        bind: function(el, binding) {
            let width = '', height = '';
            function get() {
            const elStyle = el.currentStyle ? el.currentStyle : document.defaultView.getComputedStyle(el, null);
            if (width !== elStyle.width || height !== elStyle.height) {
                binding.value({width, height});
            }
            width = elStyle.width;
            height = elStyle.height;
            }
            el.__vueReize__ = setInterval(get, 16);
        },
        unbind: function(el) {
            clearInterval(el.__vueReize__);
        }
    } 

 

以上就是 视频直播系统源码,vue自定义模拟滚动条,更多内容欢迎关注之后的文章

 

标签:el,vue,自定义,height,滚动条,width,源码,parseInt
From: https://www.cnblogs.com/yunbaomengnan/p/17582301.html

相关文章

  • 仿奈雪の茶小程序,奶茶小程序模板源码(附全套源码下载链接)
    分享一个仿奈雪の茶小程序,奶茶小程序模板源码(兼容H5版本全网首发)完美复刻奈雪の茶小程序,可稍加修改使用。代码结构如下本项目包含:首页点餐(自取和外卖两种方式,有基本的点餐逻辑处理)取餐我的积分商城积分商城详情页积分签到会员码我的卡券收货地址我的资料我的订......
  • 庆军之低代码vue模式
    原来render(h),h并不是一个对象。我一直以为,我可以写成render(h){ createuibycode(h,data,data.Data);returnh;},metchs:{createuibycode(h,ui,Data){....varuitype=ui....varuiprops=ui.propsvarsmh=h(uitype,uiprops,[]); }} 结果以上方案无法显......
  • EaselJS 源码分析系列--第四篇
    鼠标交互事件前几篇关注的是如何渲染,那么鼠标交互如何实现呢?Canvascontext本身没有像浏览器DOM一样的交互事件EaselJS如何在canvas内实现自己的鼠标事件系统?原理大致如下:Stage类内的canvas监听标准DOM鼠标事件(比如:mousedown),window或document对象下监听......
  • 基于 Android 的旅游电商应用系统设计与实现-计算机毕业设计源码+LW文档
    开题申请(包括选题目的意义、研究现状、成果提纲、文献综述、创新思路、参考文献,篇幅不够可另加页)1.开题依据1.1研究的目的意义伴随着智能终端的高速发展,移动互联网与传统旅游业开始了加速融合,如今的旅游业已经得到了蓬勃发展。用户只需要一台移动终端,就能够随时随地的掌握各类旅......
  • 在Vue中的使用axios
    一、什么是axiosaxios是一个基于Promise的HTTP客户端,用于浏览器和Node.js中发送HTTP请求。它支持各种HTTP请求方法,如GET、POST、PUT、DELETE等,并且可以拦截请求和响应,设置请求超时等功能。它也可以与现代前端框架(如Vue.js、React、Angular等)进行集成。二、如何在Vue.js中使用axios(1......
  • 基于微信小程序的校园设备报修平台的设计与实现-计算机毕业设计源码+LW文档
    【摘要】随着互联网技术的发发展,计算机技术广泛应用在人们的生活中,逐渐成为日常工作、生活不可或缺的工具。在高校,各种管理系统层出不穷,为校园设备报修管理开发必要的系统,能够有效的提升管理效率。一直以来,校园设备报修一直没有进行系统化的管理,学生无法快速进行报修,由此提出开发基......
  • 基于Android的眼镜商场app-计算机毕业设计源码+LW文档
    前端用户功能:(1)app首页:显示app所有商品的相关信息,供用户搜索、浏览查看,包括商品展示、商品类别及搜索等信息的展示。(2)注册登录:实现用户注册,登录系统实现,注册成功之后默认为登录状态。(3)商品展示:商家可以制作漂亮的眼镜产品图片,并在商场展示。用户可以通过查看图片细节来......
  • Vue3 组件篇
    组件命名组件的命名一般分为两种在单文件组件中,推荐为子组件使用PascalCase的标签名,以此来和原生的HTML元素作区分。虽然原生HTML标签名是不区分大小写的,但Vue单文件组件是可以在编译中区分大小写的。我们也可以使用/>来关闭一个标签。使用kebab-case形式并显式地......
  • 详解!视频直播源码平台搭建开发:录制功能
     在互联网快速发展的现代社会,直播成为了新型的社交媒体形式与营销形式,普通用户会在视频直播源码平台中发布短视频、图文或是开直播等进行社交;商户则会发布视频广告或直播带货等进行营销。而在这些社交与营销的新形式下,大多数人还会发布直播的某些有趣或意义的片段到短视频上,进行......
  • Vue中使用Echarts可视化图表
    1、首先在项目中安装Echarts1npminstallecharts2npminstallecharts--save 2、在项目main.js中全局引入1importechartsfrom'echarts'2//挂载到vue原型上3Vue.prototype.$echarts=echarts 1//全局引入echarts2import*asechartsfrom'echar......