我第一次使用 html5,试图让这个 jquery ui slider 将正确的值发送到这个 html5 Canvas 不透明度。经过一番谷歌搜索和乱搞后,我在这里工作了:http://jsfiddle.net/y54Es/25/当你使用它时,你会明白我的意思,在 slider 移动之前不会出现图像,我知道这与我拥有功能的顺序有关,我只是无法让它工作,否则这是我的代码如下: JS:
$("#slider").slider({
animate: true,
range: "min",
value: 0.5,
min: 0,
max: 0.9,
step: .01,
slide: function (event, ui) {
$('#hiddenField').attr('value', ui.value);
$("#slider-result").html(ui.value);
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var valueVar = $('#hiddenField').val();
var img1 = loadImage('http://moosepic.com/test2.png', main);
var img2 = loadImage('http://moosepic.com/test.png', main);
var imagesLoaded = 0;
function main() {
imagesLoaded += 1;
if (imagesLoaded == 2) {
// composite now
ctx.drawImage(img1, 0, 0, 300, 300);
if (valueVar == 0) {
} else {
ctx.globalAlpha = valueVar;
ctx.drawImage(img2, 0, 0, 300, 300);
}
}
}
function loadImage(src, onload) {
var img = new Image();
img.onload = onload;
img.src = src;
return img;
}
}
});
当 slider 一直向左移动时,有关如何使第二个图像完全抵消的任何帮助都会很棒......如果有人可以帮助我将初始图像加载到 Canvas 上,那就太棒了也是。
最佳答案
只有在实际调整 slider 时才会调用您正在使用的滑动方法。 jQueryUI Slider 对象还提供了create method在页面加载时创建 slider 时调用一次。
我建议使用它来执行 Canvas 的初始设置。例如加载 Canvas 图像等。
关于javascript - 带 jquery ui slider 的 Html5 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14357667/