MCPcopy
hub / github.com/iChochy/NCE / handleLyricActivate

Method handleLyricActivate

js/ReadingSystem.js:429–447  ·  view source on GitHub ↗

* 处理歌词行激活 * @param {HTMLElement} line - 歌词行元素

(line)

Source from the content-addressed store, hash-verified

427 * @param {HTMLElement} line - 歌词行元素
428 */
429 handleLyricActivate(line) {
430 // 确保元素拥有必需的数据属性
431 if (!line || !line.dataset || line.dataset.index === undefined || line.dataset.time === undefined) {
432 console.warn('Invalid lyric element: missing required data attributes', { element: line });
433 return;
434 }
435
436 const index = parseInt(line.dataset.index, 10);
437 const time = parseFloat(line.dataset.time);
438
439 // 验证解析结果
440 if (!Number.isFinite(index) || !Number.isFinite(time)) {
441 console.warn('Invalid lyric data:', { index, time, element: line, dataIndex: line.dataset.index, dataTime: line.dataset.time });
442 return;
443 }
444
445 this.playLyricAtIndex(index, time);
446 this.persistPlayTime(time);
447 }
448
449 /**
450 * 从指定时间播放

Callers 1

bindLyricsMethod · 0.95

Calls 2

playLyricAtIndexMethod · 0.95
persistPlayTimeMethod · 0.95

Tested by

no test coverage detected