|  | @@ -895,6 +895,7 @@ export const gotoNext = (note: any, skipNote?: boolean) => {
 | 
	
		
			
				|  |  |        console.log(error);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      // 重置 或者切换演奏演唱的时候 可能出现 state.activeNoteIndex === note.i的情况 执行
 | 
	
		
			
				|  |  | +    fillWordColor();
 | 
	
		
			
				|  |  |      if (state.isSingleLine && state.playState === "paused") {
 | 
	
		
			
				|  |  |        moveSvgDom(skipNote);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -928,6 +929,7 @@ export const gotoNext = (note: any, skipNote?: boolean) => {
 | 
	
		
			
				|  |  |    } catch (error) {
 | 
	
		
			
				|  |  |      console.log(error);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +  fillWordColor();
 | 
	
		
			
				|  |  |    // 一行谱,需要滚动小节
 | 
	
		
			
				|  |  |    if (state.isSingleLine) {
 | 
	
		
			
				|  |  |      moveSvgDom(skipNote);
 | 
	
	
		
			
				|  | @@ -1519,8 +1521,8 @@ export const addNoteBBox = (list: any[]) => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/** 跳动svgdom */
 | 
	
		
			
				|  |  | -export const moveSvgDom = (skipNote?: boolean) => {
 | 
	
		
			
				|  |  | +// 给歌词和音符添加动态颜色
 | 
	
		
			
				|  |  | +const fillWordColor = () => {
 | 
	
		
			
				|  |  |    // console.log('当前音符',state.activeNoteIndex)
 | 
	
		
			
				|  |  |    state.times.forEach((item: any, idx: number) => {
 | 
	
		
			
				|  |  |      const svgEl = document.getElementById(`vf-${state.times[idx]?.svgElement?.attrs?.id}`)
 | 
	
	
		
			
				|  | @@ -1545,8 +1547,11 @@ export const moveSvgDom = (skipNote?: boolean) => {
 | 
	
		
			
				|  |  |      if (index === currentNote.repeatIdx) {
 | 
	
		
			
				|  |  |        lyric?.classList.add('lyricActive')
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +  })  
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +/** 跳动svgdom */
 | 
	
		
			
				|  |  | +export const moveSvgDom = (skipNote?: boolean) => {
 | 
	
		
			
				|  |  |    /**
 | 
	
		
			
				|  |  |     * 计算需要移动的距离
 | 
	
		
			
				|  |  |     * 当前选中的音符和第一个音符之间的间距
 | 
	
	
		
			
				|  | @@ -1567,26 +1572,20 @@ watch(
 | 
	
		
			
				|  |  |  	() => state.activeMeasureIndex,
 | 
	
		
			
				|  |  |  	() => {
 | 
	
		
			
				|  |  |      // 需要减去的合并小节数
 | 
	
		
			
				|  |  | -    let needReduceMultipleRestNum = 0;
 | 
	
		
			
				|  |  | +    let needReduceMultipleRestNum = 1;
 | 
	
		
			
				|  |  |      for(let noteIndex = 0; noteIndex < state.times.length; noteIndex++){
 | 
	
		
			
				|  |  |        const note =  state.times[noteIndex];
 | 
	
		
			
				|  |  |        if (note.MeasureNumberXML > state.activeMeasureIndex) {
 | 
	
		
			
				|  |  |          break;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      if (note.multipleRestMeasures) {
 | 
	
		
			
				|  |  | -        // if (note.multipleRestMeasures < note.totalMultipleRestMeasures) {
 | 
	
		
			
				|  |  | -        //   needReduceMultipleRestNum += note.MeasureNumberXML - note.multipleRestMeasures + 1;
 | 
	
		
			
				|  |  | -        // } else {
 | 
	
		
			
				|  |  | -        //   needReduceMultipleRestNum += note.totalMultipleRestMeasures - 1;
 | 
	
		
			
				|  |  | -        // }
 | 
	
		
			
				|  |  | -        // needReduceMultipleRestNum += note.MeasureNumberXML - note.multipleRestMeasures + 1;
 | 
	
		
			
				|  |  | +      // 合并的小节数+1
 | 
	
		
			
				|  |  | +      // if (note.multipleRestMeasures && (note.multipleRestMeasures > 1 || (note.multipleRestMeasures === 1 && note.MeasureNumberXML === 1))) {
 | 
	
		
			
				|  |  | +      //   needReduceMultipleRestNum += 1;
 | 
	
		
			
				|  |  | +      // }
 | 
	
		
			
				|  |  | +      if (note.multipleRestMeasures && note.multipleRestMeasures > 1) {
 | 
	
		
			
				|  |  |          needReduceMultipleRestNum += 1;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      // if (note.multipleRestMeasures === 0 && state.times[noteIndex-1]?.multipleRestMeasures) {
 | 
	
		
			
				|  |  | -      //   needReduceMultipleRestNum += state.times[noteIndex-1]?.multipleRestMeasures
 | 
	
		
			
				|  |  | -      // }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    needReduceMultipleRestNum = needReduceMultipleRestNum >= 0 ? needReduceMultipleRestNum : 0;
 | 
	
		
			
				|  |  |      const matchMeasureNum = state.activeMeasureIndex - needReduceMultipleRestNum
 | 
	
		
			
				|  |  |      console.log('选中的小节',matchMeasureNum,'需要减去的小节',needReduceMultipleRestNum,'当前的小节',state.activeMeasureIndex)
 | 
	
		
			
				|  |  |      state.vfmeasures.forEach((item: any, idx: number) => {
 |