如何用JavaScript实现视频播放器的弹幕功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1150个文字,预计阅读时间需要5分钟。
使用ES6模块化开发及观察者模式实现。观察者模式有多种形式,这里采用注册-通知-注销模式。TimeManager类返回一个实例,每个弹窗作为观察者注册。
使用ES6的模块化开发及观察者模式来实现。观察者模式有很多种形式,这里是使用“注册—通知—撤销注册”的形式。TimeManager类可以返回一个单例,每一条弹幕作为一个观察者,注册到TimeManager类的单例的set表中,当单例的set中有数据时,被观察者状态被改变,执行动画,并通知所有观察者进行update状态更新。弹幕移动超过视频宽度时,从TimeManager中注销。当TimeManager单例的set表中所有被观察弹幕都注销时,setInterval停止执行。
1、Bullet.js:
观察者:实现弹幕样式,和自身状态更新update()方法.
2、TimeManager.js
被观察者和Subject:可以增加和删除观察者对象,状态改变时通知所有观察者并更新状态。
3、Player.js
播放器组件:简单的播放器样式,控制按钮等都是默认样式。。。
本文共计1150个文字,预计阅读时间需要5分钟。
使用ES6模块化开发及观察者模式实现。观察者模式有多种形式,这里采用注册-通知-注销模式。TimeManager类返回一个实例,每个弹窗作为观察者注册。
使用ES6的模块化开发及观察者模式来实现。观察者模式有很多种形式,这里是使用“注册—通知—撤销注册”的形式。TimeManager类可以返回一个单例,每一条弹幕作为一个观察者,注册到TimeManager类的单例的set表中,当单例的set中有数据时,被观察者状态被改变,执行动画,并通知所有观察者进行update状态更新。弹幕移动超过视频宽度时,从TimeManager中注销。当TimeManager单例的set表中所有被观察弹幕都注销时,setInterval停止执行。
1、Bullet.js:
观察者:实现弹幕样式,和自身状态更新update()方法.
2、TimeManager.js
被观察者和Subject:可以增加和删除观察者对象,状态改变时通知所有观察者并更新状态。
3、Player.js
播放器组件:简单的播放器样式,控制按钮等都是默认样式。。。

