我正在使用此代码播放/暂停背景音频.

        <div class="music-box">
            <audio id="losAudio" src="images/honcayeu.mp3"></audio>
            <button id="btn_playPause">
                <i class="fa fa-music"></i>
            </button>
        </div>
    var losAudio = document.getElementById("losAudio");
    function losAudio_playPause() {
        var isPaused = losAudio.paused;
        losAudio[isPaused ? "play" : "pause"]();
    }
    document.getElementById("btn_playPause").addEventListener("click", losAudio_playPause);

但现在我希望当点击按钮时,图标将变为暂停图标. 能告诉我一个简单的解决方案吗?谢谢

推荐答案

要在播放音频时将按钮的图标从fa-Music更改为fa-psusse,您可以修改您的losAudio_playPause函数以相应地更新按钮图标.

试试这个:

var losAudio = document.getElementById("losAudio");
var playPauseButton = document.getElementById("btn_playPause");

function losAudio_playPause() {
    var isPaused = losAudio.paused;
    losAudio[isPaused ? "play" : "pause"]();
    playPauseButton.innerHTML = '<i class="fa ' + (isPaused ? 'fa-music' : 'fa-pause') + '"></i>';
}

playPauseButton.addEventListener("click", losAudio_playPause);

这样做的目的是判断音频当前是否暂停或正在播放,并使用三元操作符将按钮图标分别设置为FA-MUSIC或FA-PAUSE.然后,使用innerHTML属性用新图标更新按钮的内容.

Html相关问答推荐

缩小与浮动元素共享空间的HTML元素的边界

为什么在Vuettify 3中使用Flex时会忽略宽度?

Blazor中有1像素高行的表格

我需要主页按钮出现在中间

纯CSS语音气泡与半透明背景和边框

获得一个css框,以便在页面太小时不再粘在页面的角落.

类型';联系人组件';上不存在属性';name FormControl';

使用CSS和Slick Carcass使图像适合屏幕

柔性盒内的物品;t覆盖整个宽度,即使设置为100%

如何为高度较小的块制作边框动画?

当浏览器宽度减小时字体大小变得太大

无法在 CSS 中将 h1 标签居中

如何从 div 内的属性中提取 href 和文本

如何将内容放置在侧边栏旁边?

如何使背景 colored颜色 逐渐渐变成另一种 colored颜色 ?

网页设计不适合移动设备

如何使我的设计适合与我的框架尺寸不同的视口?

有没有办法在 Flutter 中创建这个浮动标签表单?

如何将某些 div 的高度限制为具有 display flex 行的同一父 div 中的其他 div?

使用 CSS flexbox 和溢出顶部而不是底部