From 17133f10bbae233e051fdeaee589e1cca6cab309 Mon Sep 17 00:00:00 2001 From: lancerwang Date: Mon, 17 Mar 2025 21:47:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8=E4=B8=8B?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/index.html | 8 ++++++++ web/script.js | 22 +++++++++++++++++++++- web/style.css | 8 ++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/web/index.html b/web/index.html index 8c56fc8..9691eaa 100644 --- a/web/index.html +++ b/web/index.html @@ -146,6 +146,14 @@ 自动播放 + +
+ + +
diff --git a/web/script.js b/web/script.js index 7726d0e..0fd250b 100644 --- a/web/script.js +++ b/web/script.js @@ -270,6 +270,7 @@ function showCoverImage(searchTerm) { // 视频播放功能 let hls = null; let autoplayEnabled = false; +let autoNextEnabled = false; // 初始化自动播放设置 function initializeAutoplaySettings() { @@ -287,6 +288,20 @@ function initializeAutoplaySettings() { } } +function initializeAutoNextToggle() { + const autoNextToggle = document.getElementById('autoNextToggle'); + if (autoNextToggle) { + // 从localStorage读取状态 + autoNextEnabled = localStorage.getItem('autoNextEnabled') === 'true'; + autoNextToggle.checked = autoNextEnabled; + // 绑定change事件 + autoNextToggle.addEventListener('change', (e) => { + autoNextEnabled = e.target.checked; + localStorage.setItem('autoNextEnabled', autoNextEnabled); + }); + } +} + // 初始化封面图开关设置 function initializeCoverToggle() { const coverToggle = document.getElementById('coverToggle'); @@ -406,6 +421,11 @@ async function loadVideo() { videoPlayer.controls = true; } }); + videoPlayer.addEventListener('ended', ()=> { + if (autoNextEnabled) { + loadVideo()} + ; + }); videoPlayer.classList.remove('loading'); notification.classList.remove('show'); @@ -434,7 +454,7 @@ document.addEventListener('DOMContentLoaded', () => { initializeAutoplaySettings(); initializeCopyButton(); initializeCoverToggle(); - + initializeAutoNextToggle(); // 新增初始化 const nextVideoButton = document.getElementById('nextVideo'); if (nextVideoButton) { nextVideoButton.addEventListener('click', loadVideo); diff --git a/web/style.css b/web/style.css index 80ea699..7a34d39 100644 --- a/web/style.css +++ b/web/style.css @@ -1277,6 +1277,14 @@ body.light-theme select option { transform: translateX(20px); } +#autoNextToggle:checked + label .toggle-switch { + background-color: var(--primary-color); +} + +#autoNextToggle:checked + label .toggle-switch::after { + transform: translateX(20px); +} + /* 适配移动端全屏问题 */ #videoPlayer::-webkit-media-controls { will-change: transform;