如何使用 javascript 更改 <img src>

馬鮑勃

我有一個 Javascript 函數,我處理了幾個小時,

Javascript:

var musicFile = new Audio('audio/Ice.mp3');
var audioState = document.getElementById('musicIcon');

function music() {
    if (audioState.src = 'images/musicOff.svg') {
        musicFile.play();
        audioState.src = 'images/musicOn.svg';
    } else if(audioState.src = 'images/musicOn.svg') {
        musicFile.pause();
        musicFile.currentTime = 0;
        audioState.src = 'images/musicOff.svg';
    }
}

HTML:

<ul class="tabs" style="top: 0px; right: 0px; width: 210px; right: 10px; text-shadow: 1px 1px indigo;">
    <li class="tab" onclick="music()">
        <img id="musicIcon" src="images/musicOff.svg" width="32" height="32">
    </li>
</ul>

CSS:

.tabs {
    position: absolute;
    display: flex;
    list-style-type: none;
    margin: auto;
    padding: 0px;
    width: 800px;
    height: 30px;
}
.tab {
    position: relative;
    top: 30%;
    width: 15%;
    height: 20px;
    background:royalblue;
    border: 0px transparent;
    border-radius: 10px;
    padding: 10px;
    margin: 0px;
    margin-right: 15px;
    text-align: center;
    font-size: 16px;
    font-family: monospace;
    color: white;
    cursor: pointer;

}
.tab:hover {
    text-align:center;
    background-color: #CCC;
}

<li>標籤旨在充當按鈕,它執行功能中的所有操作(更改 .svg 圖標並播放音樂),但第二次我再次單擊它時,沒有任何反應。我還檢查了控制台,沒有錯誤。

我真的很感激一些幫助,也許還有一些一般的提示。(Javascript 新手,現在不想使用 jQuery。)

盧卡斯清真寺

您忘記使用 double 等於進行比較。更改===

audioState.src正在返回絕對路徑,嘗試為getAttribute('src')所有比較的方法更改它像那樣:

audioState.getAttribute('src') == 'images/musicOff.svg'

並更改src值,嘗試使用這樣的setAttribute('attribute', 'newValue')方法:

audioState.setAttribute('src', 'images/musicOff.svg');

希望對你有幫助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章