我试图测试我的代码......但我无法调用任何Javascript函数。我已经尝试了很多东西:使按钮调用我现有的函数,尝试使用此代码调用新函数,将我的函数插入以前成功的HTML文件中。这些策略都没有奏效。无论我做什么,此文件中的任何Javascript函数都不会被调用,或者似乎没有被调用。我不明白为什么。
<!DOCTYPE html>
<html>
<head>
<title>Template Page</title>
</head>
<body onLoad="chooser()">
<!--HTML "route" for images-->
<img src="IMG_0000.jpg"></img>
<img src="IMG_0001.jpg"></img>
<img src="IMG_0002.jpg"></img>
<img src="IMG_0003.jpg"></img>
<img src="IMG_0004.jpg"></img>
<script type="text/javascript">
//Create a list of images, choose randomly for that list (to display on the page), and then delete that image from the list
function chooser()
{
//Declare variables
var start = 0;
var end = 9;
var images = [];
var imageNumber = start;
var imageName = "";
//Add image src's to array
while (imageNumber <= end)
{
if (imageNumber < 10)
{
imageName = "IMG_000" + string(imageNumber) + ".jpg";
}
else if (imageNumber > 9) && (imageNumber < 100)
{
imageName = "IMG_00" + string(imageNumber) + ".jpg";
}
else if (imageNumber > 99) && (imageNumber < 1000)
{
imageName = "IMG_0" + string(imageNumber) + ".jpg";
}
else if (imageNumber > 999) && (imageNumber < 10000)
{
imageName = "IMG_" + string(imageNumber) + ".jpg";
}
images.push(imageName);
imageNumber = imageNumber + 1;
alert(images);
}
}
</script>
</body>
</html>
答案 0 :(得分:0)
else-if
部分中存在语法错误,这是正确的错误:
if (imageNumber < 10)
{
imageName = "IMG_000" + string(imageNumber) + ".jpg";
}
else if ((imageNumber > 9) && (imageNumber < 100))
{
imageName = "IMG_00" + string(imageNumber) + ".jpg";
}
else if ((imageNumber > 99) && (imageNumber < 1000))
{
imageName = "IMG_0" + string(imageNumber) + ".jpg";
}
else if ((imageNumber > 999) && (imageNumber < 10000))
{
imageName = "IMG_" + string(imageNumber) + ".jpg";
}
以及类似函数string()
,你想要它们是什么?将imageNumber从整数转换为字符串?在这种情况下,你不需要任何东西。 “+”运算符会自动将数字转换为字符串。因此,删除那些string()
,使您的最终代码为:
if (imageNumber < 10)
{
imageName = "IMG_000" + imageNumber + ".jpg";
}
else if ((imageNumber > 9) && (imageNumber < 100))
{
imageName = "IMG_00" + imageNumber + ".jpg";
}
else if ((imageNumber > 99) && (imageNumber < 1000))
{
imageName = "IMG_0" + imageNumber + ".jpg";
}
else if ((imageNumber > 999) && (imageNumber < 10000))
{
imageName = "IMG_" + imageNumber + ".jpg";
}