VUE实现时间轴播放组件

本文实例为大家分享了VUE实现时间轴播放组件的具体代码,供大家参考,具体内容如下

先上效果图吧

1、初始化的效果!

2、可以拖拽,鼠标放上显示时间

3、播放按钮后,正常播放 左右两个横线可以上一页下一页

下面说VUE接入的步骤:

1、index.html中引入js和css文件

<script src='../static/js/timePlay.js'></script>
<link href='../static/css/timePlay.css' rel='stylesheet'/>

2、写个时间控件的组件TimePlay.vue

<template>
  <div>
    <div class="time-content" id="timePlay"></div>
  </div>
</template>

<script>
var timeplay = "";
export default {
  data() {
    return {};
  },
  methods: {
    initTimePlay() {
      let _this = this;
      $("#timePlay").html("");
      timeplay = new TimePlay({
        selectDate: _this.$store.state.trackPlayback.currentSelectDate,
        onClickChangeEnd: function () {
          //点击后回调
        },
        onAnimateEnd: function () {
        //时间轴动画每次结束回调
        },
      });
      //初始化时间轴日期
      var curr_date = new Date(timeplay.options.selectDate);
      var hour = curr_date.getHours();
      var minute = curr_date.getMinutes();
      var second = curr_date.getSeconds();
      timeplay.options.startDate = parseInt(
        "" +
          (hour > 9 ? hour : "0" + hour) +
          (minute > 9 ? minute : "0" + minute) +
          (second > 9 ? second : "0" + second)
      );
      timeplay.options.endDate = parseInt(
        "" +
          (hour + 1 > 9 ? hour + 1 : "0" + (hour + 1)) +
          (minute > 9 ? minute : "0" + minute) +
          (second > 9 ? second : "0" + second)
      );
      $("#pause").click(function () {
        timeplay.delayAnimation(); //延迟动画
      });

      $("#play").click(function () {
        console.log("开始播放")
        timeplay.continueAnimation(); //继续动画
      });
      //点击暂停执行
      $(".play").click(function () {
      });
    },
  },
  mounted() {
    this.initTimePlay();
    window.timePlayLeft = $(".timeProgress-box").offset().left;
  },
  }
</script>

<style>
</style>

3、正常父组件调用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Vue时间轴 vue-light-timeline的用法说明

    轻量的vue时间轴组件 install npm install vue-light-timeline 如果你使用的是yarn yarn add vue-light-timeline usage import LightTimeline from 'vue-light-timeline'; Vue.use(LightTimeline); <template> <light-timeline :items='items'></light-timeline> </tem

  • vue2.0实现音乐/视频播放进度条组件

    基于vue2.0实现音乐/视频播放进度条组件的方法及代码解释,具体内容如下 需求分析: ①:进度条随着歌曲的播放延长,歌曲播放完时长度等于黑色总进度条长度:时间实时更新. ②:当滑动按钮时,实时更新播放时间,橙色进度条长度也会随着按钮的滑动而改变,当滑动结束时,橙色区域停留在滑动结束的位置,歌曲从当前进度开始播放. ③:点击进度条,橙色进度条长度变为点击处至起点的长度,并从当前点开始播放歌曲. 大概思路: ①:左边的时间可以通过audio播放时派发的timeupdate事件获取,右边的时间为接口

  • 适用于 Vue 的播放器组件Vue-Video-Player操作

    如果h5的标签<vedio>不能满足你的需求,那就用这个组件Vue-Video-Player吧,也许可以覆盖到你的需求. <video-player class="video-player vjs-custom-skin" ref="videoPlayer" :playsinline="true" :options="playerOptions" ></video-player> 配置参数:

  • Vue.js实现时间轴功能

    本文实例为大家分享了Vue.js实现时间轴功能的具体代码,供大家参考,具体内容如下 GitHub 时间轴组件封装 Main.js <template> <div class="timeline-main"> <div class="timeline-axis"> <div class="axis-item" v-for="(time, index) in dateTimes" :key

  • 基于vue-element组件实现音乐播放器功能

    最近在写一个基于 github-page 和 gist 的博客, 想加个音乐播放器, 做了一个早上, 发出来分享一下 演示地址 https://github-laziji.github.io 效果 使用到的组件 element组件 布局 Layout 按钮 Button 滑块 Slider 进度条 Progress 弹出框 Popover html5组件 audio 实现代码 更详细的实现可以看 https://github.com/GitHub-Laziji/vblog <template>

  • vue2.0+SVG实现音乐播放圆形进度条组件

    vue2.0+SVG实现音乐播放圆形进度条组件,传入实时百分比实现圆圈进度动画效果 需求分析: 类似于大多数音乐播放器中等mini播放器控制按钮,显示播放进度,实时更新进度. progress-circle.vue源码: <template> <div class="progress-circle"> <svg :width="radius" :height="radius" viewBox="0 0 10

  • 解决ios微信下vue项目组件切换并自动播放音频问题

    最近在做一个英语答题项目 , 项目需求是通过答题取的成绩 , 答题的题型是分为 , 听音选图 , 看图选词 , 和填空题 . 项目总共分为了3个页面 , 开始页 ,答题页 和结束页面 ,答题页关于每种题型 , 我做了相应的组件 , 每次切换题目的时候 ,显示对应的的组件 , 要求听音选图的时候会自动播放音频 . 惯例 , ios下的safari和微信内置浏览器都不支持audio的自动播放 , 通常的解决方案都是通过 document.addEventListener('WeixinJSBridg

  • vue-music关于Player播放器组件详解

    本文实例为大家分享了关于Player播放器组件的具体内容,供大家参考,具体内容如下 迷你播放器: 1.播放器组件会在各个页面的情况下会打开. 首先在vuex state.js 中定义全局的播放器状态 import {playMode} from 'common/js/config.js'; const state = { singer:{}, playing:false, //是否播放 fullScreen:false, //是否全屏 playList:[], //播放列表 sequenceLi

  • vue+swiper实现时间轴效果

    本文实例为大家分享了vue+swiper实现时间轴效果的具体代码,供大家参考,具体内容如下 效果: 首先引入,有淘宝镜像的用 cnpm install swiper --save 没有的用 npm install swiper --save <template> <div class="hello" style="height:100%;width:100%;position:relative;"> <div class="s

  • Vue实现可移动水平时间轴

    本文实例为大家分享了Vue实现可移动水平时间轴的具体代码,供大家参考,具体内容如下 里程碑时间轴具体实现 效果图 编辑里程碑效果图 <template> <div class="state_grade"> <!-- <mile-stone :projectId="projectData.proId" :projectName="projectData.proName" :proNum="project

随机推荐