如何制作两个变量的变量
how to make a variable of two variables
在你读到这篇文章之前,我的第一个帐户被封锁了,因为我问了不好的问题。所以请不要投反对票,而是说我做错了什么
所以我有这个脚本:
var img1 = new Image()
img1.src="image1.jpg"
var img2 = new Image()
img2.src="image2.jpg"
var img3 = new Image()
img3.src="image3.jpg"
function Canvas() {
var ctx = document.getElementById('slider').getContext('2d');
var pic=1
function slider() {
this.draw = function() {
if(pic<4){pic++}
else{
pic=1
}
var img = "img"+pic
ctx.drawImage(img,0,0,ctx.canvas.width,ctx.canvas.height)
}
}
var slider = new slider();
function draw() {
ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);
ctx.save();
//draw
slider.draw();
//draw
ctx.restore();
}
var animateInterval = setInterval(draw,100)
}
window.addEventListener('load', function(event) {
Canvas();
});
我正在尝试在我的画布上绘制图像 1、2 或 3。但我也有var pic wich有数字。所以我试着ctx.drawimage(img+pic,0,0)
或var img = "img"+pic
然后画出来。但它对我不起作用。
我希望你能接受我的问题,并能回答它,谢谢
改用数组
var img = [];
/* you should use a for loop here */
for (var i = 0; i < 3; i++) {
img[i] = new Image();
img[i].src = "image" + (i+1) ".jpg";
}
稍后您用img[pic]
引用正确的图像。确保仅使用 0
和 img.length - 1
之间的索引
不要使用单独的变量,使用数组。
var images = [ new Image(), new Image(), new Image() ];
for (var i = 0; i < images.length; i++) {
images[i].src = "image" + (i+1) + ".jpg";
}
然后引用Slider()
函数中的数组:
var pic = 0;
function slider() {
this.draw = function() {
pic = (pic + 1) % images.length;
var img = images[pic];
ctx.drawImage(img,0,0,ctx.canvas.width,ctx.canvas.height)
}
}
错误似乎是您引用了字符串"img1"而不是对象img1。尝试改用数组。设置以下内容:
...
var pic=0;
var img=[img1,img2,img3];
function slider() {
this.draw = function() {
if(pic<3){pic++}
else{
pic=0;
}
ctx.drawImage(img[pic],0,0,ctx.canvas.width,ctx.canvas.height)
}
}
...
相关文章:
- 在HTML包围的javascript中添加两个变量
- 填写表单后替换两个变量
- 为两个ID设置一个变量的正确语法
- 用于交换两个变量的 JavaScript 函数
- 使用一个表达式将两个变量分配给相同的值
- 如何添加两个变量而不使其在javascript中连接
- 通过变量在两个数字之间切换
- 有可能让两个变量指向同一个对象吗?(javascript)
- 在两个浏览器选项卡之间共享变量范围
- 带有两个变量函数的Ajax提交表单
- 将两个变量的值加在一个变量中
- JavaScript:检查变量是否等于两个或多个值之一的简单方法
- 如何使用javascript获取两个变量的最高值
- 在同一页上的两个脚本中使用全局变量
- 在两个导出的函数中使用变量
- 如何从字符串中获取两个变量
- 删除两个函数使用的全局变量
- 测试两个变量是否包含一些数据 JavaScript
- 定义两个具有相同参数的变量
- 将两个变量从php发送到javascript