我有一個 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] 删除。
我来说两句