Skip to content

Latest commit

 

History

History
128 lines (83 loc) · 3.66 KB

clear.md

File metadata and controls

128 lines (83 loc) · 3.66 KB

弹幕清除相关方法

目录

清除所有或者某一条弹幕的方法

danmaku.clear(danmakuId = null)
  • danmakuId 弹幕(在当前容器内)的唯一ID(不是弹幕DOM元素的id哦!)

danmakuId

本参数取值是一个整数,是某一条弹幕的唯一id。

当指定了danmakuId时,程序会清除容器中指定(ID对应)的弹幕

当不指定的时候,程序会清除容器中所有弹幕


清除部分弹幕的方法

强烈建议围观Demo,一目了然。

danmaku.clearSome(type = '', reversed = 'all')
  • type - 弹幕类型

  • reversed - (仅针对滚动弹幕)清除的是否是反向的弹幕

type

  • 默认值: '' (不指定弹幕类型)

当不指定type参数时,程序会清除容器中所有弹幕

可选值 说明
'random', 'scroll', 'top', 'bottom', 'midscroll', 'midhang' danmaku.attrs()支持设置的弹幕类型
'all' 代表所有的弹幕
'scrolling' 代表所有滚动弹幕 (包括random, scroll, midscroll)
'hanging' 代表所有悬停弹幕 (包括top, bottom, midhang)
'freeing'/'free' 代表所有自由弹幕

reversed

  • 默认值: 'all' (无论正向还是反向滚动)

本选项只有在type参数取值为scroll, midscroll, random, scrolling, all时有效(也就是仅对滚动弹幕有效)。

可选值 说明
true type对应的滚动弹幕中,清除逆向滚动的弹幕
false type对应的滚动弹幕中,清除正向滚动的弹幕
'all' type对应的滚动弹幕中,清除所有滚动弹幕

易错提示

type参数取值为all时,就算传入了reversed参数,悬停弹幕也是会被全部清除的

// 这样会清除 所有的逆向滚动弹幕 和 所有的悬停弹幕
danmaku.clearSome('all', true);

要想只清除逆向滚动弹幕而不清除悬停弹幕,可以这样写:

danmaku.clearSome('scrolling', true);

清除指定样式弹幕的方法

⚠ 注意,该方法可能不太稳定。之所以不稳定,是因为每次清除时传入的样式要保证和目标弹幕的样式完全一致

Demo:清除指定样式的弹幕

danmaku.clearStyled(styles)
  • styles - 包含CSS样式键值对的对象

styles

  • 无默认值,必须传入

取值为一个对象,这个对象包含了一些CSS样式键值对。

举个栗子,清除所有颜色为蓝色的弹幕:

danmaku.clearStyled({
    'color': 'blue'
});

逻辑取反

实际上这里的CSS样式值还是支持逻辑取反操作的,只需要在值前面加上!即可。

比如,清除所有颜色不为白色的弹幕:

danmaku.clearStyled({
    'color': '!white' // 默认情况下弹幕样式的color值为'white'
});