3 回答
TA貢獻(xiàn)2065條經(jīng)驗 獲得超14個贊
對于多個元素,您應(yīng)該使用一個類。 id 屬性在頁面中必須是唯一的,并且被設(shè)計為唯一的 id 以引用一個 DOM 對象。您還需要遍歷所有要操作的 DOM 對象。
我已將 actionButton 添加到每個按鈕的類中,并使用getElementsByClassName來獲取所有按鈕,并使用for-of 循環(huán)對它們進(jìn)行迭代。
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<script>
function actionButtonfuction() {
for(const el of document.getElementsByClassName("actionButton"))
el.disabled = true;
document.getElementById("play").style.color = "#808080";
document.getElementById("stop").style.color = "#808080";
document.getElementById("restart").style.color = "#808080";
setTimeout(function() {
for(const el of document.getElementsByClassName("actionButton"))
el.disabled = false;
document.getElementById("play").style.color = "#16a72d";
document.getElementById("stop").style.color = "#db3224";
document.getElementById("restart").style.color = "#1b6ec2"
}, 5000);
//console.log("button clicked");
}
</script>
<button class="console_button actionButton" onclick="actionButtonfuction()" asp-action="">
<i id="stop" class="fa fa-stop"></i>
</button>
<button class="console_button actionButton" onclick="actionButtonfuction()" asp-action="">
<i id="play" class="fa fa-play"></i>
</button>
<button class="console_button actionButton" onclick="actionButtonfuction()" asp-action="">
<i id="restart" class="fa fa-refresh"></i>
</button>
TA貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
首先,所有按鈕都具有相同的 ID,這是不允許的,因為 ID 應(yīng)該是唯一的。play其次,在您的代碼中,沒有 idstop或restart. 我認(rèn)為要使您的代碼正常工作,它應(yīng)該是這樣的:
<script>
function actionButtonfuction() {
var btns = document.getElementsByClassName('actionButton');
for(var i = 0; i < btns.length; i++) {
btns[i].setAttribute('disabled','true');
}
document.getElementById("play").style.color = "#808080";
document.getElementById("stop").style.color = "#808080";
document.getElementById("restart").style.color = "#808080";
setTimeout(() => {
var btns = document.getElementsByClassName('actionButton');
for(var i = 0; i < btns.length; i++) {
btns[i].setAttribute('disabled','true');
}
document.getElementById("play").style.color = "#16a72d";
document.getElementById("stop").style.color = "#db3224";
document.getElementById("restart").style.color = "#1b6ec2"
}, 5000);
}
</script>
對于 HTML:
<button class="console_button" class="actionButton" onclick="actionButtonfuction()" id="stop" asp-action="">
<i class="fa fa-stop"></i>
</button>
<button class="console_button" class="actionButton" onclick="actionButtonfuction()" id="play" asp-action="">
<i class="fa fa-play"></i>
</button>
<button class="console_button" class="actionButton" onclick="actionButtonfuction()" id="restart" asp-action="">
<i class="fa fa-refresh"></i>
</button>
所以完全像這樣:
<!DOCTYPE HTML>
<html>
<head>
<title>Buttons</title>
</head>
<body>
<button class="console_button" class="actionButton" onclick="actionButtonfuction()" id="stop" asp-action="">
<i class="fa fa-stop"></i>
</button>
<button class="console_button" class="actionButton" onclick="actionButtonfuction()" id="play" asp-action="">
<i class="fa fa-play"></i>
</button>
<button class="console_button" class="actionButton" onclick="actionButtonfuction()" id="restart" asp-action="">
<i class="fa fa-refresh"></i>
</button>
<script>
function actionButtonfuction() {
var btns = document.getElementsByClassName('actionButton');
for(var i = 0; i < btns.length; i++) {
btns[i].setAttribute('disabled','true');
}
document.getElementById("play").style.color = "#808080";
document.getElementById("stop").style.color = "#808080";
document.getElementById("restart").style.color = "#808080";
setTimeout(() => {
var btns = document.getElementsByClassName('actionButton');
for(var i = 0; i < btns.length; i++) {
btns[i].setAttribute('disabled','false');
}
document.getElementById("play").style.color = "#16a72d";
document.getElementById("stop").style.color = "#db3224";
document.getElementById("restart").style.color = "#1b6ec2"
}, 5000);
}
</script>
</body>
</html>
請注意我沒有測試過代碼。
TA貢獻(xiàn)1818條經(jīng)驗 獲得超11個贊
我找到了問題的實際答案
<script>
function actionButtonfuction() {
for (const el of document.getElementsByClassName("actionButton"))
el.disabled = true;
if (typeof (document.getElementById("play")) != 'undefined' && document.getElementById("play") != null) {
document.getElementById("play").style.color = "#808080";
}
if (typeof (document.getElementById("stop")) != 'undefined' && document.getElementById("stop") != null) {
document.getElementById("stop").style.color = "#808080";
}
if (typeof (document.getElementById("restart")) != 'undefined' && document.getElementById("restart") != null) {
document.getElementById("restart").style.color = "#808080";
}
setTimeout(function () {
for (const el of document.getElementsByClassName("actionButton"))
el.disabled = false;
if (typeof (document.getElementById("play")) != 'undefined' && document.getElementById("play") != null) {
document.getElementById("play").style.color = "#16a72d";
}
if (typeof (document.getElementById("stop")) != 'undefined' && document.getElementById("stop") != null) {
document.getElementById("stop").style.color = "#db3224";
}
if (typeof (document.getElementById("restart")) != 'undefined' && document.getElementById("restart") != null) {
document.getElementById("restart").style.color = "#1b6ec2"
}
}, 5000);
//console.log("button clicked");
}
添加回答
舉報
