我正在编写一个音乐播放器的应用程序,但我遇到了障碍。我正在尝试一种方法:
•当我将鼠标悬停在一首歌曲上时,它会显示一个“播放”按钮来代替歌曲编号。
•当前播放的歌曲显示一个“暂停”按钮代替歌曲编号。
•暂停的歌曲显示“播放”按钮代替歌曲编号。
我想在此方法中使用 onMouseEnter 和 onMouseLeave 事件,但我不知道从哪里开始
这是我的专辑组件
import React, { Component } from 'react';
import albumData from './../data/albums';
class Album extends Component {
constructor(props) {
super(props);
const album = albumData.find( album => {
return album.slug === this.props.match.params.slug
});
this.state = {
album: album,
currentSong: album.songs[0],
isPlaying: false
};
this.audioElement = document.createElement('audio');
this.audioElement.src = album.songs[0].audioSrc;
}
play() {
this.audioElement.play();
this.setState({ isPlaying: true });
}
pause() {
this.audioElement.pause();
this.setState({ isPlaying: false });
}
setSong(song) {
this.audioElement.src = song.audioSrc;
this.setState({ currentSong: song });
}
handleSongClick(song) {
const isSameSong = this.state.currentSong === song;
if (this.state.isPlaying && isSameSong) {
this.pause();
} else {
if (!isSameSong) { this.setSong(song); }
this.play();
}
}
DIEA
相关分类