【发布时间】:2019-10-05 05:54:29
【问题描述】:
我正在创建一个计时器应用程序,当我单击开始按钮时,我启动了计时器,但我希望它显示暂停和播放按钮。几乎我正试图做与开始按钮相反的事情。
我已经尝试将其设置为
middlebuttons.style.display= "block"
但这不起作用。
Javascript
var startButton = document.getElementById("start");
var startSound = document.getElementById("audio");
var timerSound = document.getElementById("timer");
var counter = document.getElementById("counter");
var middlebuttons = document.getElementsByClassName("middlebuttons");
function playAudio(){
startSound.play();
}
// Start button will disappear after click and countDown method will begin
function startTimer(){
startButton.style.display="none";
middlebuttons.style.display = "block";
countDown(1);
}
startButton.addEventListener('click', startTimer, playAudio);
HTML
<div class="container">
<div class="buttons">
<button id ="start" type="button" onclick="playAudio()">Start</button>
<audio id="audio">
<source src="clicksound.wav" type="audio/ogg ">
</audio>
<audio id="timer">
<source src="gong.mp3" type="audio/ogg ">
</audio>
</div>
<div id="counter">
</div>
<div class="middlebuttons" style="display: none">
<div class="row mr-3">
<button id="pause" >
<i class="fas fa-pause" style="font-size: 40px"></i>
</button>
<button id="play">
<i class="fas fa-play" style="font-size: 40px"></i>
</button>
</div>
</div>
</div>
【问题讨论】:
-
middlebuttons是一个数组,而不是单个 DOM 元素,所以你需要循环遍历它们并为它们设置样式 -
DOM API 不是 jQuery。您尝试的内容在 jQuery
$('.middlebuttons').css('display', 'block')中有效,因为 jQuery 会为您进行迭代。在本机 DOM API 中,您需要自己执行此操作。
标签: javascript html css arrays