我在javascript中的一个函数中有1个while循环,当页面加载时该函数不会被调用,但是当我注释while循环时,网页的重新加载时间几乎是即时的。当 while 循环没有被注释掉时,重新加载页面需要 6 秒。
为什么这会大大减慢加载时间,以及如何在不删除功能的情况下使页面加载更快?
(代码的目的是选择多个文件,当文件被选中时,显示在列表中)
Javascript
function first(){
putin=$('#putin');
input=document.getElementById('putin');
list=document.getElementById('list');
putin.change(function(){
files();
});
}
a=true;
function files(){
i=0;
if(input.files.length==1){
document.getElementById('label').innerHTML=input.files.length+' File selected';
}else{
document.getElementById('label').innerHTML=input.files.length+' Files selected';
}
if(a){
while(i<input.files.length){
list.innerHTML+=input.files[i].name+'<br/>';
i++;
}
}
}
HTML
<!doctype html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title id='title'>Select Files</title>
<link rel="stylesheet" href="main.css">
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script src="selector.js" type="text/javascript"></script>
</head>
<body onload="first()">
<div id='wrap'>
<label id="label" for="putin">Select files to play!</label>
<input id='putin' type="file" multiple accept="audio/*,video/*">
</div>
<div id='list'>
</div>
</body>
</html>
顺便说一句,这是我第一次在这里发帖,我是荷兰人,所以可能会有拼写和/或语法错误,抱歉