我对开发网页还很陌生,所以如果答案非常明显,那么我深表歉意。我试图在我的视频播放器上创建一个功能齐全的播放速率更改菜单,但每次我选择下拉菜单上的任何选项时,我从 .js 获得的结果始终默认为最后一个 if 语句。在本例中,例如选择“0.5x”速度,它将始终默认为 1.75,因为这是我在 js if 语句中提到的最后一件事。
var playbackSpeeds = document.getElementById ("speedValues");
speedValues.addEventListener ("input", changePlaybackSpeed)
function changePlaybackSpeed()
{
if (document.getElementById("speedValues").value = "2x")
{
myVideo.playbackRate = 2.0;
}
if (document.getElementById("speedValues").value = "0.5x")
{
myVideo.playbackRate = 0.5;
}
if (document.getElementById("speedValues").value = "0.75x")
{
myVideo.playbackRate = 0.75;
}
if (document.getElementById("speedValues").value = "1x")
{
myVideo.playbackRate = 1.0;
}
if (document.getElementById("speedValues").value = "1.25x")
{
myVideo.playbackRate = 1.25;
}
if (document.getElementById("speedValues").value = "1.5x")
{
myVideo.playbackRate = 1.5;
}
if (document.getElementById("speedValues").value = "1.75x")
{
myVideo.playbackRate = 1.75;
}
}`
我希望最终结果能够实际工作,使用用户设置的速度,而不是现在发生的速度。任何帮助将不胜感激。
最佳答案
你应该给出===
var playbackSpeeds = document.getElementById ("speedValues");
speedValues.addEventListener ("input", changePlaybackSpeed)
function changePlaybackSpeed(){
if (document.getElementById("speedValues").value === "2x")
{
myVideo.playbackRate = 2.0;
}
if (document.getElementById("speedValues").value === "0.5x")
{
myVideo.playbackRate = 0.5;
}
if (document.getElementById("speedValues").value === "0.75x")
{
myVideo.playbackRate = 0.75;
}
if (document.getElementById("speedValues").value === "1x")
{
myVideo.playbackRate = 1.0;
}
if (document.getElementById("speedValues").value === "1.25x")
{
myVideo.playbackRate = 1.25;
}
if (document.getElementById("speedValues").value === "1.5x")
{
myVideo.playbackRate = 1.5;
}
if (document.getElementById("speedValues").value === "1.75x")
{
myVideo.playbackRate = 1.75;
}
}
关于javascript - 为什么我在此 <select> 标签下拉菜单中所做的任何选择总是默认为我设置的最后一个 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47764618/