- 清除所有或者某一条弹幕的方法
clear()
- 清除部分弹幕的方法
clearSome()
- 清除指定样式弹幕的方法
clearStyled()
danmaku.clear(danmakuId = null)
danmakuId
弹幕(在当前容器内)的唯一ID(不是弹幕DOM元素的id哦!)
-
默认值:
null
(不指定弹幕)
本参数取值是一个整数,是某一条弹幕的唯一id。
当指定了danmakuId
时,程序会清除容器中指定(ID对应)的弹幕;
当不指定的时候,程序会清除容器中所有弹幕。
强烈建议围观Demo,一目了然。
danmaku.clearSome(type = '', reversed = 'all')
-
type
- 弹幕类型 -
reversed
- (仅针对滚动弹幕)清除的是否是反向的弹幕
- 默认值:
''
(不指定弹幕类型)
当不指定type
参数时,程序会清除容器中所有弹幕。
可选值 | 说明 |
---|---|
'random' , 'scroll' , 'top' , 'bottom' , 'midscroll' , 'midhang' |
danmaku.attrs() 支持设置的弹幕类型 |
'all' |
代表所有的弹幕 |
'scrolling' |
代表所有滚动弹幕 (包括random , scroll , midscroll ) |
'hanging' |
代表所有悬停弹幕 (包括top , bottom , midhang ) |
'freeing' /'free' |
代表所有自由弹幕 |
- 默认值:
'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
样式键值对的对象
- 无默认值,必须传入
取值为一个对象,这个对象包含了一些CSS
样式键值对。
举个栗子,清除所有颜色为蓝色的弹幕:
danmaku.clearStyled({
'color': 'blue'
});
实际上这里的CSS
样式值还是支持逻辑取反操作的,只需要在值前面加上!
即可。
比如,清除所有颜色不为白色的弹幕:
danmaku.clearStyled({
'color': '!white' // 默认情况下弹幕样式的color值为'white'
});