値が変更されたときに関数を実行することになっているスライダー(入力タイプの範囲)があります。次に、関数は新しい値を別のdiv-containerに表示する必要があります。関数にアラートを配置した後、関数が呼び出されていないことがわかりましたが、1時間グーグルしていくつかの異なる方法を試した後、エラーを見つけることができません。
HTML部分は次のとおりです。
<input id="slide" type="range" min="1" max="100" step="1" value="10" onchange="updateSlider(this.value)">
<div id="sliderAmount"></div>
Javascript:
//Slider
function updateSlider(slideAmount)
{
alert("error");
var sliderDiv = document.getElementById("sliderAmount");
sliderDiv.innerHTML = slideAmount;
}
前もって感謝します!
それは機能します。要素がレンダリングされるときにjavascript関数が定義されていることを確認する必要があります(f.ex)。
<script>
function updateSlider(slideAmount) {
var sliderDiv = document.getElementById("sliderAmount");
sliderDiv.innerHTML = slideAmount;
}
</script>
<input id="slide" type="range" min="1" max="100" step="1" value="10" onchange="updateSlider(this.value)">
<div id="sliderAmount"></div>
このデモを参照してください: http://jsfiddle.net/Mmgxg/
より良い方法は、インラインonchange
属性を削除することです。
<input id="slide" type="range" min="1" max="100" step="1" value="10">
<div id="sliderAmount"></div>
次に、JavaScriptにリスナーを追加します。
var slide = document.getElementById('slide'),
sliderDiv = document.getElementById("sliderAmount");
slide.onchange = function() {
sliderDiv.innerHTML = this.value;
}