This commit is contained in:
make
2025-10-07 21:05:23 +08:00
parent b8c05096ad
commit e19c65e5c5

View File

@@ -599,38 +599,74 @@ function findFirstUrl(obj) {
} }
// 切换播放线路
// 切换播放线路 // 切换播放线路
function checkLine(val) { function checkLine(val) {
// 构造 ID(去掉 # 前缀) // 构造 ID
let strLineHeadId = `line_head_${val}`; let strLineHeadId = `line_head_${val}`;
let strLineListId = `playlist_${val}`; let strLineListId = `playlist_${val}`;
// 获取 DOM 元素 // 获取目标元素
let headElement = document.getElementById(strLineHeadId); let headElement = document.getElementById(strLineHeadId);
let listElement = document.getElementById(strLineListId); let listElement = document.getElementById(strLineListId);
// 1. 处理头部导航的 active 类 // 获取所有头部导航和播放列表
let navItems = document.querySelectorAll('.play-group-head'); let navItems = document.querySelectorAll('.play-group-head');
navItems.forEach(item => { let tabPanes = document.querySelectorAll('.play-group-list');
console.log(item.id)
if (item.id === strLineHeadId) { // ✅ 如果目标元素不存在,则默认选中第一个
item.classList.add('active'); if (!headElement || !listElement) {
if (navItems.length > 0 && tabPanes.length > 0) {
headElement = navItems[0];
listElement = tabPanes[0];
} else { } else {
item.classList.remove('active'); console.warn('没有可用的播放线路元素');
return;
} }
}
// 1. 更新头部导航 active 状态
navItems.forEach(item => {
item.classList.toggle('active', item === headElement);
}); });
// 2. 处理播放列表 active // 2. 更新播放列表 active 状态
let tabPanes = document.querySelectorAll('.play-group-list');
tabPanes.forEach(pane => { tabPanes.forEach(pane => {
if (pane.id === strLineListId) { pane.classList.toggle('active', pane === listElement);
pane.classList.add('active');
} else {
pane.classList.remove('active');
}
}); });
} }
// function checkLine(val) {
// // 构造 ID去掉 # 前缀)
// let strLineHeadId = `line_head_${val}`;
// let strLineListId = `playlist_${val}`;
// // 获取 DOM 元素
// let headElement = document.getElementById(strLineHeadId);
// let listElement = document.getElementById(strLineListId);
// // 1. 处理头部导航的 active 类
// let navItems = document.querySelectorAll('.play-group-head');
// navItems.forEach(item => {
// console.log(item.id)
// if (item.id === strLineHeadId) {
// item.classList.add('active');
// } else {
// item.classList.remove('active');
// }
// });
// // 2. 处理播放列表的 active 类
// let tabPanes = document.querySelectorAll('.play-group-list');
// tabPanes.forEach(pane => {
// if (pane.id === strLineListId) {
// pane.classList.add('active');
// } else {
// pane.classList.remove('active');
// }
// });
// }
function reorderObj(obj) { function reorderObj(obj) {
if (!obj || typeof obj !== 'object') return obj; if (!obj || typeof obj !== 'object') return obj;
let newObj = {}; let newObj = {};