为什么不使用onLoad事件调用我的Javascript函数?
Why won't my Javascript function be called with the onLoad event?
我试图测试我的代码…但我无法调用任何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>
您的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";
}
相关文章:
- 我的javascript for循环不起作用
- 如何将我的javascript库公开给其他客户端使用
- 可以Resharper在我的javascript函数声明中添加分号
- 为什么我的JavaScript堆栈排序函数不起作用
- 页面在我的javascript执行后重新加载,我不希望它这样做
- MVC正在忽略我的Javascript文件
- 为什么我的javascript程序没有将其转换为整数而不是字符串
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 我的javascript太慢了
- 由于某种原因,我的JavaScript函数无法工作
- 为什么我的javascript脚本在页面加载时运行,而不是使用onclick
- 我的Javascript代码出错
- 为什么我的javascript和jquery源文件始终不加载
- AJAX:为什么不是't我的javascript与内容一起加载
- 为什么不是't我的javascript向Project Euler返回正确答案's排名第一
- 为什么当我在带有锚点的页面之间移动时,Rails不重新加载我的javascript文件
- Num doenst在我的javascript中工作
- 在我的JavaScript模块中绑定一个点击事件
- 为什么我的JavaScript函数没有返回选中的数组值
- 使用Ajax将我的Javascript变量传递给PHP