0

我试图测试我的代码......但我无法调用任何 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>
4

1 回答 1

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";
    }

还有那个function-like 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";
    }
于 2013-05-25T06:19:19.257 回答