我的目标是能够通过 javascript 将范围输入动态添加到网页上。我正在为滑块使用以下代码
<div class="slidecontainer">
<input type="range" min="1" max="100" value="50" class="slider" id="myRange">
<p>Value: <span id="demo"></span></p>
</div>
<script>
var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value;
slider.oninput = function() {
output.innerHTML = this.value;
}
</script>
https://www.w3schools.com/howto/howto_js_rangeslider.asp
我曾尝试使用 innerHtml、document.createElement("input") 和模板来实现这一点。我能够绘制滑块,但是我无法获得要打印的值并显示有关如何实现此目标的任何帮助将不胜感激。
这是我最近的尝试
脚本
function showContent() {
var temp = document.getElementsByTagName("template")[0];
var clon = temp.content.cloneNode(true);
document.body.appendChild(clon);
}
Template.myTemplate.rendered = function(){
document.getElementById("slider").oninput = function() {
myFunction()
};
function myFunction() {
var val = document.getElementById("slider").value //gets the oninput value
document.getElementById('output').innerHTML = val //displays this value to the html page
console.log(val)
}
</script>
<template name="myTemplate">
<input id="slider" type="range" min="50" max="100" step="10" value="50">
<output id="output">abc</output>
</template>
<button class = "button" onclick="showContent()">Copy text</button>
由于 MMDM,我也尝试了这个,这导致显示了 3 个范围绘图和 3 个值,但是,它们没有更新。
<script>
window.onload = function()
{
var titles = ["demo1", "demo2", "demo3"];
for(var i = 0; i < 3; i++)
{
var container = document.getElementsByClassName('slidecontainer')[0];
var slider = document.createElement("input");
slider.type = 'range';
slider.value = 50;
container.prepend(slider);
container.innerHTML += ("<p>Value: <span id=" + titles[i] +"></span></p>")
var output = document.getElementById(titles[i]);
output.innerHTML = slider.value;
slider.oninput = function() {
output.innerHTML = this.value;
}
}
}
</script>
<div class="slidecontainer">
</div>
慕的地8271018
慕姐4208626
慕尼黑的夜晚无繁华
相关分类