Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎么会选择这个<;选择>;标记下拉菜单总是默认为我设置的最后一条if语句?_Javascript_Html - Fatal编程技术网

Javascript 我怎么会选择这个<;选择>;标记下拉菜单总是默认为我设置的最后一条if语句?

Javascript 我怎么会选择这个<;选择>;标记下拉菜单总是默认为我设置的最后一条if语句?,javascript,html,Javascript,Html,我对开发网页还很陌生,所以如果答案显而易见,那么我道歉。我试图在我的视频播放器上创建一个功能齐全的播放速率更改菜单,但每次我在下拉菜单上选择任何选项时,从my.js获得的结果总是默认为最后一个if语句。在本例中,选择例如“0.5x”速度,它将始终默认为1.75,因为这是我在js if语句中提到的最后一件事 var playbackSpeeds = document.getElementById ("speedValues"); speedValues.addEventListener ("inp

我对开发网页还很陌生,所以如果答案显而易见,那么我道歉。我试图在我的视频播放器上创建一个功能齐全的播放速率更改菜单,但每次我在下拉菜单上选择任何选项时,从my.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;
    }
}`

我希望最终结果能够实际工作,使用用户将设置的速度,而不是现在发生的事情。任何帮助都将不胜感激。

您使用的是单个equals
=
,您需要一个双
=
或三
==
equals

当你用JavaScript写这样的东西时

var x = 5;
if(x = 3){
   alert("it's three")
}
…您将
x
设置为5,然后再次将其设置为3

相反,您需要:

var x = 5;
if(x === 3){
   alert("it's three")
}

这将检查
x
的值是否为
3
。使用
===
而不是
=
,因为
==
是类型安全的

另一个可能的选项是引用选项id

<option id='1'></option>

您应该给出
==

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;
}
}