【发布时间】:2018-06-06 11:20:16
【问题描述】:
以下 3 块代码,想使用循环/数组生成短代码。我知道使用循环不是什么大事,但对我来说很难用变量“openFile”更改计数器,我想要计数器增量每次循环迭代时使用变量“openFile”,例如 openFile1、openFile2 和 openFile3。
$(function() {
var openFile1 = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var dataURL = reader.result;
var output = document.getElementById('img1');
output.src = dataURL;
};
reader.readAsDataURL(input.files[0]);
};
var openFile2 = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var dataURL = reader.result;
var output = document.getElementById('img2');
output.src = dataURL;
};
reader.readAsDataURL(input.files[0]);
};
var openFile3 = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var dataURL = reader.result;
var output = document.getElementById('img3');
output.src = dataURL;
};
reader.readAsDataURL(input.files[0]);
};
});
【问题讨论】:
-
该行有一个明显的错误
var openFile'+i+'; = function(event) {。删除'+i+'; -
@forumulator,我只想在每次循环迭代时更改 openFile1、openFile2、openFile3、openFile4、openFile5 和 openFile6。
-
你的意图是什么,你想用六个函数做什么,exaclty?你不能做你所描述的。最佳情况下,创建一个数组并向其中添加函数。
-
@user123:不,坏主意。请改用数组。
openFile[0]、openFile[1]等 -
@Sergio Tulentsev,问题已更新,请回答
标签: javascript jquery arrays arraylist