我对开发网页的开发很新,因此,如果答案很明显,那么我深表歉意。我正在尝试在视频播放器上创建一个功能齐全的播放率更改菜单,但是每次我在下拉菜单上选择任何选项时,我从.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;
}
}`
id喜欢最终结果,实际上使用用户将设置它的速度,而不是现在发生的速度。任何帮助将不胜感激。
您应该给===
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;
}
}
您使用的是单个等于=
,您需要双==
或Triple ===
等于。
当您在JavaScript中写下这样的东西...
var x = 5;
if(x = 3){
alert("it's three")
}
...您将x
至5设置为5,然后将其再次设置为3。
相反,您需要此:
var x = 5;
if(x === 3){
alert("it's three")
}
将检查x
是否具有3
的值。建议使用===
而不是==
,因为===
是类型安全。
另一个可能的选项是参考选项ID。
<option id='1'></option>
javaScript:
if(document.getElementbyId("1").value='1.5'){
myVideo.playbackRate = 1.5;
}