gpt4 book ai didi

javascript - 禁用数组的 0 索引上的返回并禁用数组的最后一个索引上的下一个

转载 作者:太空宇宙 更新时间:2023-11-04 15:30:33 24 4
gpt4 key购买 nike

我有 69 首歌曲的列表,并且已经搜索了很多如何在 i==0 时禁用上一首按钮。并在 i==68 时禁用下一步按钮,但没有运气。当 i 的值不为 0 且最后一个时是否可以显示按钮?

(最好避免使用 jQuery)

var songs = [
"assets/Playlists/1.mp3",
"assets/Playlists/2.mp3",
"assets/Playlists/3.mp3",
];
var i = 0;

function createPlayer() {
var a = document.createElement("audio");
a.controls = true;
a.setAttribute("id", "au");
a.src = songs[i];
document.getElementById("demo").appendChild(a);
a.autoplay = true;
a.addEventListener("ended", nextItem);
document.getElementById("number").innerHTML = i;
}

function nextItem() {
i = i + 1;
document.getElementById("au").src = songs[i];
document.getElementById("number").innerHTML = i;
au.play();
}

function prevItem() {
i = i - 1;
document.getElementById("au").src = songs[i];
document.getElementById("number").innerHTML = i;
au.play();
}

function check() {
// ...
}
createPlayer();
* {
text-align: center;
}

button img {
height: 20px;
width: 20px;
}

button {
background-color: transparent;
outline: none;
border: none;
cursor: pointer;
}
<body onload="createPlayer(); check()">
<div id="demo"></div>
<button onclick="prevItem()" id="prev_btn">
<img src="assets/next-button.png">
<br>
</button>&nbsp;<button onclick="nextItem()"><img src="assets/next-button.png"></button>
<div id="number"></div>
</body>

最佳答案

我会使用一个函数来更新两个按钮的禁用/启用状态(或者隐藏它们,就像您可能想要做的那样)。

在启动时以及每次单击按钮后调用它。

var songs = [
"assets/Playlists/1.mp3",
"assets/Playlists/2.mp3",
"assets/Playlists/3.mp3"
];
var i = 0;

function createPlayer() {
var a = document.createElement("audio");
a.controls = true;
a.setAttribute("id", "au");
a.src = songs[i];
document.getElementById("demo").appendChild(a);
a.autoplay = true;
a.addEventListener("ended", nextItem);
document.getElementById("number").innerHTML = i;

enableButtons();
}

function nextItem() {
i = i + 1;
document.getElementById("au").src = songs[i];
document.getElementById("number").innerHTML = i;
enableButtons();
au.play();

}

function prevItem() {
i = i - 1;
document.getElementById("au").src = songs[i];
document.getElementById("number").innerHTML = i;
enableButtons();
au.play();

}

function enableButtons() {

var prev = document.getElementById('prev_btn'),
next = document.getElementById('next_btn');

prev.disabled = (i <= 0);
next.disabled = (i >= songs.length - 1);

// remove these lines to just disable, not hide
prev.style.display = (prev.disabled) ? 'none' : 'inline';
next.style.display = (next.disabled) ? 'none' : 'inline';
}

function check() {

}
createPlayer();
* {
text-align: center;
}

button img {
height: 20px;
width: 20px;
}

button {
background-color: transparent;
outline: none;
border: none;
cursor: pointer;
}
<body onload="createPlayer(); check()">
<div id="demo"></div>
<button onclick="prevItem()" id="prev_btn"><img src="assets/next-button.png" alt=prev>
<br>
</button>&nbsp;<button onclick="nextItem()" id=next_btn><img src="assets/next-button.png" alt=next></button>
<div id="number"></div>
</body>

关于javascript - 禁用数组的 0 索引上的返回并禁用数组的最后一个索引上的下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44826169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com