javascript - 如何让输入类型="range"触发溢出滚动?

标签 javascript html

我有一个输入 type="range"大于其父级。我想让它在 slider 拇指退出父宽度时滚动。

这是一个例子,当你超过父宽度时应该有一个滚动。我怎样才能做到这一点?

http://jsbin.com/ikemo4/edit

请注意,input type="range"仅适用于 WebKit 浏览器。

最佳答案

非常简单的选项是使用 oninput 事件,假设您的值和宽度由 fiddle 准确表示,当范围值增加超过容器的宽度时,操作 < em>scrollLeft by rangeValue -parentWidth。我在您的 jsBin 示例中使用以下代码实现了这一点:

var rng = document.getElementById("range");

rng.oninput = function () {
    this.parentNode.scrollLeft = this.value - 400;
}

结果可以演示here 。您可能需要稍微调整它以获得所需的效果。

另一个选项是检查该值是否大于一定数量并将框完全滚动到右侧。当它以另一种方式返回时,完全向左滚动。

关于javascript - 如何让输入类型="range"触发溢出滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4041442/

相关文章:

html - vs Α 在浏览器和源代码中显示

javascript - 默认为动态生成的 'Select' 框选择第一个值

javascript - 我可以从 HTML 字符串或 dom 节点/元素创建 React 元素吗

javascript - 如何使用 getElementsByClassName 确定所选下拉选项的值?

javascript - Interpreter - 闭包是如何得名的?

html - float 列问题

javascript - 如何从这个 json 数据创建两个数组?

javascript - 绑定(bind)元素时添加范围对象的格式

javascript - jquery datepicker 无法单击按钮

jquery - 可选 - 选择后,元素会改变其外观