鼠标悬停时气泡展示音乐信息
This commit is contained in:
		
							
								
								
									
										26
									
								
								src/music.js
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								src/music.js
									
									
									
									
									
								
							@@ -3,10 +3,6 @@ import { Span, Button, List, ListItem, UploadMusic, createElement } from './weig
 | 
				
			|||||||
export default class MusicList {
 | 
					export default class MusicList {
 | 
				
			||||||
    constructor({ list = [], EventListeners = {}, onplay, onstop, onadd, onremove, onlike, onunlike, onban, onload }) {
 | 
					    constructor({ list = [], EventListeners = {}, onplay, onstop, onadd, onremove, onlike, onunlike, onban, onload }) {
 | 
				
			||||||
        this.event = { onplay, onstop, onadd, onremove, onlike, onunlike, onban, onload }
 | 
					        this.event = { onplay, onstop, onadd, onremove, onlike, onunlike, onban, onload }
 | 
				
			||||||
        this.ul = List({ classList: ['music-list'] })
 | 
					 | 
				
			||||||
        this.EventListeners = EventListeners
 | 
					 | 
				
			||||||
        this.list = []
 | 
					 | 
				
			||||||
        list.forEach(item => this.add(item)) // 列表逐一添加
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 添加音乐播放器
 | 
					        // 添加音乐播放器
 | 
				
			||||||
        this.audio = new Audio()
 | 
					        this.audio = new Audio()
 | 
				
			||||||
@@ -26,10 +22,27 @@ export default class MusicList {
 | 
				
			|||||||
        //    console.error('音乐播放器错误:', event)
 | 
					        //    console.error('音乐播放器错误:', event)
 | 
				
			||||||
        //})
 | 
					        //})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.ul = List({
 | 
				
			||||||
 | 
					            classList: ['music-list'],
 | 
				
			||||||
 | 
					            style: {
 | 
				
			||||||
 | 
					                // 文字溢出显示为省略号
 | 
				
			||||||
 | 
					                overflow: 'hidden',
 | 
				
			||||||
 | 
					                textOverflow: 'ellipsis',
 | 
				
			||||||
 | 
					                whiteSpace: 'nowrap',
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        this.EventListeners = EventListeners
 | 
				
			||||||
 | 
					        this.list = []
 | 
				
			||||||
 | 
					        list.forEach(item => this.add(item)) // 列表逐一添加
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 收起到右上角, 音乐播放器基于浮窗定位, 不再占用页面空间
 | 
					        // 收起到右上角, 音乐播放器基于浮窗定位, 不再占用页面空间
 | 
				
			||||||
        const element = createElement({
 | 
					        const element = createElement({
 | 
				
			||||||
            //textContent: '音乐',
 | 
					            style: {
 | 
				
			||||||
            style: { position: 'fixed', top: '5rem', right: '1rem', backgroundColor: '#eee', padding: '.5rem', borderRadius: '1rem', cursor: 'pointer' },
 | 
					                position: 'fixed', top: '5rem', right: '1rem',
 | 
				
			||||||
 | 
					                backgroundColor: '#eee', padding: '.5rem',
 | 
				
			||||||
 | 
					                borderRadius: '1rem', cursor: 'pointer',
 | 
				
			||||||
 | 
					                maxWidth: '20rem', maxHeight: '70vh',
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            onclick: event => {
 | 
					            onclick: event => {
 | 
				
			||||||
                this.ul.classList.toggle('disable')
 | 
					                this.ul.classList.toggle('disable')
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@@ -112,6 +125,7 @@ export default class MusicList {
 | 
				
			|||||||
            classList: item.arrayBuffer ? ['cache'] : [],
 | 
					            classList: item.arrayBuffer ? ['cache'] : [],
 | 
				
			||||||
            children: [
 | 
					            children: [
 | 
				
			||||||
                Span({
 | 
					                Span({
 | 
				
			||||||
 | 
					                    title: `${item.name} - ${bytesToSize(item.size)} - ${item.type}`,
 | 
				
			||||||
                    textContent: `${item.name} - ${bytesToSize(item.size)}`,
 | 
					                    textContent: `${item.name} - ${bytesToSize(item.size)}`,
 | 
				
			||||||
                    onclick: event => {
 | 
					                    onclick: event => {
 | 
				
			||||||
                        event.stopPropagation()                // !如果使用async则此处不能阻止冒泡传递
 | 
					                        event.stopPropagation()                // !如果使用async则此处不能阻止冒泡传递
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user