我是 JavaScript 新手。 我已经使用过 Java 和 C#(以及一些 C++)
到目前为止..
我正在使用 JavaScript 将图片从目录加载到数组中。之后我想将这些图片放在我的页面上。
这已经可以工作了。
下一步是添加全屏功能,以全屏分辨率加载图片。
var myfiles;
var pfad = "./bilder/" //directory of the images
var index = 0;
myfiles = new Array(); //String array with the names of the pictures
myfiles[0] = "01.png";
myfiles[1] = "01.png"; //usw.
myfiles[2] = "03.png";
myfiles[3] = "02.png";
function fullScreen(bild) {
document.write('<img src="'+ pfad + bild + '" border="0" width="100%">');
alert (bild);
}
function start() {
for(var i=0; i < myfiles.length; i++) {
pics[i].src = pfad + myfiles[i];
string = myfiles[i];
document.write('<img onclick="fullScreen(string);" src="'+ pfad + myfiles[i] + '" border="0" height="150px" >');
}
}
此代码仅加载我的数组的最后一张图片。
函数 fullScreen()
似乎只采用字符串的最后一个值。
HTML部分
<script type="text/javascript">
start();
</script>
最佳答案
当循环已经完成时,它仅在单击时评估string
。
您需要直接传递它:
for(var i=0; i < myfiles.length; i++) {
pics[i].src = pfad + myfiles[i];
string = myfiles[i];
document.write('<img onclick="fullScreen(\''+string+'\');" src="'+ pfad + myfiles[i] + '" border="0" height="150px" >');
}
关于javascript - 无法启动 "document.write();"中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23892603/