我有一个表示时间轴(视频时间轴)的输入范围滑块:
<form oninput="amount.value=slider.value">
<output>0:00</output>
<input type="range" id="slider" name="rangeInput" min="0" max="60" value="0">
<output name="amount" id="rangevalue" for="slider">0</output>
</form>
到目前为止,时间轴以秒为单位。现在,我想将其更改为分钟。通过Javascript,我设法将更rangevalue.value
改为我喜欢的任何字符串-这样我就可以将秒更改为分钟。问题在于oninput="amount.value=slider.value"
-该行的作用是当用户更改滑块的值时,它会自动更改输出的值以显示滑块当前处于什么时间(以秒为单位)。但是现在我想将输出值更改为分钟,因此我尝试了几种方法:(我使用“ 00:”作为字符串示例)
oninput="amount.value="00:"+slider.value"
-根本不起作用。我创建了一个Javascript方法:
function sliderTimeChanged() {
amount.value ="00:"+ slider.value;
}
并采用以下形式:
oninput="sliderTimeChanged()"
也行不通。当用户手动更改滑块的值时,我如何设法控制amount.value?预先感谢您对此事的任何看法。
第一种方法应该是 oninput="amount.value='00:' + slider.value"
对于第二种方法,查看控制台窗口会向您显示amount
未定义,实际上amount
只是第二种的名称output
。你可以将其替换为rangevalue
这是id
第二的output
。之所以适用于内联代码,是因为在该上下文中this
(即隐式上下文)引用form
,并且您可以form
通过字段的字段访问其中的输入字段name
(因此amount
有效)。虽然在某些功能中使用this
指向window
,所以您不能通过其访问字段name
,而必须通过进行访问id
。虽然您应该使用它document.getElementById
来访问它,因为据我所知,通过id
作为元素的属性来访问某些元素window
仅在现代浏览器中受支持。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句