2013-03-20 54 views
1

我有什么事这么远了上codepen:的Javascript滑块以更改变量动态

http://codepen.io/Shane24/pen/cEGsb

我需要当您移动滑块到变量保存出现在输入框的值。

任何帮助非常感谢。谢谢。

+0

哪部分你有困难?这非常简单。请不要要求人们为您编写代码http://mattgemmell.com/2008/12/08/what-have-you-tried/ – 2013-03-20 21:54:10

+0

只需在JavaScript中存储3个全局变量并将侦听器添加到滑块改变这些值并使用'clearRect',然后重画画布,你就完成了设置。应该是花生真的。用你的想象:) – 2013-03-20 21:55:27

+0

@JuanMendes我不是要你写吗?我很难将输入框中显示的数字保存到使用滑块动态更新的变量 – Shane 2013-03-20 21:59:32

回答

1

最简单的问题的答案是,你可以从滑块的处理

slide: function(event, ui) { 
    $('amount1').val(ui.value); 
    // This is the value that you just dragged the slider to, there it is, 
    // in a variable 
    x = ui.value; 
    } 

设置你的变量,但不知道你需要什么样的I whipped up an example that should show you a working example我来自哪里滑块提取值并将其应用到的颜色在画布上画圈。此代码与您最初发布的HTML一起使用

function drawOnCanvas() { 
    var rgb =[ 
     $('#slider-1').slider("value"), 
     $('#slider-2').slider("value"), 
     $('#slider-3').slider("value") 
    ]; 
    var c = document.getElementById("myCanvas2"); 
    var ctx = c.getContext("2d"); 
    var color = "rgb("+ rgb.join(',') + ")" ; 
    ctx.fillStyle = color; 
    ctx.beginPath(); 
    ctx.arc(100, 100, 100, 0, Math.PI*2, true); 
    ctx.closePath(); 
    ctx.fill(); 
} 

function createSlider(slider, boundTextField) { 
    slider.slider({ 
     orientation: "vertical", 
     range: "min", 
     min: 0, 
     max: 255, 
     value: 0, 
     slide: function(event, ui) { 
     boundTextField.val(ui.value); 
     drawOnCanvas(); 
     } 
    }) 
} 

$(function() { 
    createSlider($("#slider-1"), $("#amount1")); 
    createSlider($("#slider-2"), $("#amount2")); 
    createSlider($("#slider-3"), $("#amount3"));  
}); 
+0

谢谢。我得到了一个控制台输出“Uncaught TypeError:无法设置属性'onchange'为null” – Shane 2013-03-20 22:18:28

+0

我添加了按钮并添加了var textfield = document.getElementById(' amount1' ); var value = textfield.value; document.write(value);给我的js。但是document.write不打印任何东西。任何想法我做错了什么?我也有 slide:function(event,ui){z = ui.value; $(“#amount1”).val(ui.value); } - 这是甚至做什么?正如你所看到的,我的javascript并不是最好的... – Shane 2013-03-20 22:34:03

+0

永远不要使用'document.write',你在做的错误是你在解析HTML之前执行代码。最后一个snipper正在设置文本字段中的值。希望我的新答案能为你提供帮助,但你需要阅读更多内容,并提出更详细的问题,以显示你所尝试过的内容。这个问题没有显示你尝试过的,因为你甚至没有描述你想要的(设置变量不计数) – 2013-03-20 23:44:10