Javascript 无法在“中启动函数”;document.write()&引用;
我是JavaScript新手。 我已经使用过Java和C#(还有一点C++) 到目前为止 我正在使用JavaScript将图片从目录加载到数组中。之后,我想把这些图片放在我的页面上 这已经起作用了 下一步是添加全屏功能,以全屏分辨率加载图片Javascript 无法在“中启动函数”;document.write()&引用;,javascript,image,web,document.write,Javascript,Image,Web,Document.write,我是JavaScript新手。 我已经使用过Java和C#(还有一点C++) 到目前为止 我正在使用JavaScript将图片从目录加载到数组中。之后,我想把这些图片放在我的页面上 这已经起作用了 下一步是添加全屏功能,以全屏分辨率加载图片 var myfiles; var pfad = "./bilder/" //directory of the images var index = 0; myfiles = new Array(); //String array with the
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" >');
}
}
当循环已经完成时,它仅在单击时计算
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" >');
}
for(var i=0;i
JS
加载页面后调用
document.write()
,这是自找麻烦。看。@FrédéricHamidi他在dom就绪/窗口加载后没有这样做。只要他在dom准备好之前使用它,就可以了。@Royi,你是什么意思<代码>全屏()在文档加载后在单击时被调用。@RoyiNamirstart()
将正常执行,但它写入文档的单击处理程序也使用document.write()
…@Teemu没有注意到这一点。如果是这样,请忽略我的评论。当然不用了。@James不,不会用的。然后将对其进行计算。@Teemu-true,但这是另一个问题。@scimonester-stringify实际上会导致它失败,因为它会将字符串用双引号括起来,从而导致onclick=“fullScreen(''01.png');“
@James那么您认为如何修复它呢?可能是转义?需要转义文件名周围的单引号,我的第一条评论也错了(要删除它)onclick=“全屏(\''+string+'\');”
works谢谢。我不认识事件处理程序。我要试试看!
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" >');
}
var myfiles = [];
var pfad = "http://placehold.it/350x250/&text=";
var index = 0;
myfiles[0] = "Image 0";
myfiles[1] = "Image 1";
myfiles[2] = "Image 2";
myfiles[3] = "Image 3";
function fullscreen(){
if(this.className == 'fullscreen') this.className = '';
else this.className = 'fullscreen';
}
function createImage(src){
var img = document.createElement('img');
img.src = pfad + src;
img.addEventListener('click', fullscreen);
document.body.appendChild(img);
return img;
}
function start(){
for(var i=0; i < myfiles.length; i++) {
var img = createImage(myfiles[i]);
}
}
start();
html, body, .fullscreen {
height: 100%;
}