javascript - 在移动 slider 时获取 slider 的值?

标签 javascript jquery html

我正在学习一些基本的前端网络技术 - Bootstrap、jQuery、HTML5 canvas - 我希望能够在 slider 移动时更新我正在绘制的正弦曲线的尺寸,而不是在它被释放时(它目前是如何工作的)。

<input type="range" id="ampSlider" min="-200" max="200" step="5" onchange="refreshGraph()">
<input type="range" id="freqSlider" min="1" max="400" step="5" onchange="refreshGraph()">
<canvas id="graphCanvas" width="1000" height="600"></canvas>

<script>
    drawShape();
    drawGraph(200, 150);
    $("#ampSlider").val(200);
    $("#freqSlider").val(150);

    function refreshGraph()
    {
        console.log($("#ampSlider").val());
        drawGraph($("#ampSlider").val(), $("#freqSlider").val());
    }

    function drawGraph(amp, freq)
    {
        console.log("Drawing: " + amp + " | " + freq);
        var canvas = document.getElementById('graphCanvas');
        var context = canvas.getContext('2d');
        context.clearRect(0, 0, canvas.width, canvas.height);
        var y = canvas.height/2;
        context.lineWidth = 10;
        context.beginPath();
        context.moveTo(0, y);

        for(n = 0; n < canvas.width; n += 5)
        {
            context.lineTo(n, amp * Math.sin(Math.PI * n / freq) + y);
        }

        context.stroke();
    }
</script>

最佳答案

使用oninput代替onchange

例如,利用它的快速单行如下:

document.getElementById("myid").oninput = function() { console.log(this.value) };

关于javascript - 在移动 slider 时获取 slider 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25254010/

相关文章:

javascript - 当 $scope 更改时重新运行响应式(Reactive)助手

java - jQuery - 在对话框 iframe 中运行函数

javascript - MVC5 上的掩码输入

jQuery 将文本推送到数组

javascript - 同时发送 XMLHttpRequest

javascript - 仅在鼠标悬停时更改图片一次

javascript - 如何找到与按钮最接近的操作属性?

javascript - 如何删除 :hover?

javascript - parseInt() 返回 NaN

jQuery 验证图像位置