javascript - 为什么我在此 <select> 标签下拉菜单中所做的任何选择总是默认为我设置的最后一个 if 语句?

标签 javascript html

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

相关文章:

javascript - 上传 100% 完成到 rackspace 云存储后,Blueimp jquery 文件上传插件抛出错误

javascript - 避免对象突变

html - Z-index 不按预期工作与图片和背景-div

javascript - 如何使用javascript在上传图像时显示图像

html - 表单字段之间的间距

javascript - 仅第一次触发的连续 Html5 音频 .play()

javascript - 如何在 Angular JS 仪表中绘制刻度线?

javascript - 无法创建以数组索引作为键和值的 JS 对象?

javascript - 一旦窗口最大化,弹出窗口内容就会刷新

javascript - 通过按钮onclick从另一个php刷新一个php