2013-03-20 46 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