播放列表的折叠与高度控制
列表默认折叠
listFolded 参数控制播放列表是否默认折叠起来。
const ap = new APlayer({
container: document.getElementById('aplayer'),
listFolded: true, // 列表默认折叠
audio: [...]
});
| 值 | 效果 |
|---|---|
false(默认) | 页面加载后列表立即展开显示 |
true | 页面加载后列表折叠,只显示一行歌曲名,用户点击按钮后展开 |
适合空间有限或希望播放器看起来更精简的场景。用户可以随时点击列表按钮手动展开。
列表最大高度
listMaxHeight 参数限制播放列表的最大高度(单位像素)。当歌曲数量超过能显示的数量时,列表内部会出现滚动条。
const ap = new APlayer({
container: document.getElementById('aplayer'),
listMaxHeight: 200, // 列表最多 200px 高
audio: [
// 哪怕有 100 首歌
{ name: '歌曲一', ... },
{ name: '歌曲二', ... },
// ...
]
});
如果设置了 listMaxHeight,列表展开后高度不会超过这个值,多出的部分用户可以通过滚动条浏览。
如果不设置 listMaxHeight,列表会完全展开,高度等于所有歌曲行的总和。歌曲很多时,播放器会非常高。
两个参数的组合效果
| listFolded | listMaxHeight | 效果 |
|---|---|---|
false | 无 | 列表完全展开,所有歌曲可见 |
false | 200 | 列表展开,超过 200px 的部分出现滚动条 |
true | 无 | 列表折叠,点击后完全展开 |
true | 200 | 列表折叠,点击后展开到 200px 高 |
运行时控制
通过 API 可以在初始化之后控制列表的显示状态:
ap.list.show(); // 强制展开列表
ap.list.hide(); // 强制折叠列表
ap.list.toggle(); // 切换展开 / 折叠
与迷你模式的关系
注意:迷你模式(mini: true)下不显示播放列表,这两个参数完全无效。如果需要列表可见,保持 mini: false。
推荐值
| 歌曲数量 | 推荐 listMaxHeight |
|---|---|
| 1 ~ 5 首 | 不设置(完全展开) |
| 5 ~ 10 首 | 不设置 或 200px |
| 10 ~ 20 首 | 200px ~ 300px |
| 20 首以上 | 300px ~ 400px |
一个歌曲行大约 40px 高:
- 200px ≈ 5 首
- 300px ≈ 7 首
- 400px ≈ 10 首
根据你希望列表同时可见的歌曲数量来调整。