feature: drag support in sort panel.
This commit is contained in:
@ -158,6 +158,7 @@ export function createFile(url, icon = 'file-alt') {
|
||||
* @param {boolean} options.[autoPlay] - 是否自动播放
|
||||
* @param {boolean} options.[autoFullScreen] - 是否自动全屏
|
||||
* @param {boolean} options.[autoLoop] - 是否循环播放
|
||||
* @param {Function} options.[onLoaded] - 视频加载完成回调
|
||||
* @param {Function} [callback] - 视频元素处理回调函数
|
||||
* @returns {HTMLDivElement} 返回联动视频元素
|
||||
*/
|
||||
@ -330,6 +331,9 @@ export function createVideoList(urls, options, callback) {
|
||||
controller.classList.add('no-fullscreen');
|
||||
}
|
||||
|
||||
const content = createElement('div', 'ui-video-content');
|
||||
container.append(content, controller);
|
||||
|
||||
urls.forEach((url, i) => {
|
||||
const video = createElement('video');
|
||||
videos[i] = video;
|
||||
@ -349,17 +353,22 @@ export function createVideoList(urls, options, callback) {
|
||||
video.volume = 0;
|
||||
}
|
||||
prepared += 1;
|
||||
if (options?.autoPlay && prepared >= length) {
|
||||
// auto play
|
||||
videos.forEach(v => v.play().catch(() => { }));
|
||||
if (options?.autoFullScreen && length === 1 && document.fullscreenElement == null) {
|
||||
video.requestFullscreen().catch(() => { });
|
||||
if (prepared >= length) {
|
||||
if (options?.autoPlay) {
|
||||
// auto play
|
||||
videos.forEach(v => v.play().catch(() => { }));
|
||||
if (options?.autoFullScreen && length === 1 && document.fullscreenElement == null) {
|
||||
video.requestFullscreen().catch(() => { });
|
||||
}
|
||||
}
|
||||
if (typeof options?.onLoaded === 'function') {
|
||||
options.onLoaded();
|
||||
}
|
||||
}
|
||||
});
|
||||
video.addEventListener('progress', () => {
|
||||
const buffered = video.buffered;
|
||||
for (let i = 0; i < buffered.length; i += 1) {
|
||||
for (let i = 0; i < buffered.length; ++i) {
|
||||
let buffer = seekBufferBar.children[i];
|
||||
if (buffer == null) {
|
||||
seekBufferBar.append(buffer = createElement('div', 'ui-video-buffer'));
|
||||
@ -435,9 +444,8 @@ export function createVideoList(urls, options, callback) {
|
||||
if (typeof callback === 'function') {
|
||||
callback(wrapper);
|
||||
}
|
||||
container.append(wrapper);
|
||||
content.append(wrapper);
|
||||
});
|
||||
container.append(controller);
|
||||
|
||||
return container;
|
||||
}
|
Reference in New Issue
Block a user