javascript - 如何通过 vanilla js 更新范围输入 slider 的位置?

标签 javascript html

我正在尝试以编程方式更新输入 slider 的位置 (type="range")。

但是,我正在设置该值,这不会更新 slider 的位置。

我也尝试过使用:

element.dispatchEvent(new Event('input'))

强制输入更改。该事件确实会触发,但是 slider 不会在视觉上更新。

   function changeSliderPosition(position) {
       let e = document.getElementById('mySlider');
       e.value = position;
       //Also set the position of the slider to position
   }

我已经看到了一些在 JQuery 中有效的解决方案,但我不想包含整个库,甚至不想将它用于解决这样一个看似很小的问题。

如果您能帮助解决此问题,我将不胜感激!

最佳答案

假设您的 slider (input type="range") 设置了 minmax 属性,您需要做的就是设置:

let input = document.getElementById("in");
let btn = document.querySelector("button");
let slider = document.querySelector("input[type='range']");

btn.addEventListener("click", function(){
  slider.value = input.value;
});
Enter the value you want: <input id="in"><button>Go!</button><br>
<input type="range" min="1" max="100">

关于javascript - 如何通过 vanilla js 更新范围输入 slider 的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57828301/

相关文章:

javascript - 单击按钮时显示多个 div

javascript - 比较来自不同 Controller 的 2 个 GET 对象

javascript - 删除同位素js中的空白

javascript - 如何在 WebView 中单击链接时禁用橙色圆圈效果

html - 无法点击 Logo ,CSS 问题

php - 选中时更改包含复选框属性的 div

jquery - 网站在移动设备上没有响应

javascript - 创建 24 小时倒计时并在到达一天中的特定时间后重置的最佳方法是什么?

javascript - 对 DOM 事件监听器感到困惑

css - Bootstrap 列推/拉未按预期工作