0

我使用javascript 和 html为朋友建立了一个电子商务网站,并使用了nearfreespeech托管服务。我已确保正确加载 html 页面,并且没有错误(在控制台和实际页面中)。我也尝试过使用嵌入在 html 中的 javascript 和 2 个单独的文件,但都不起作用。我也没有使用外部库。我添加了页面加载时的警报,但没有显示任何内容。页面构造函数通过设置在 body 标记上的onload事件连接到页面。我已经在Firefox、Google Chrome 和 Internet Explorer上尝试过,但都没有工作。当我将控件的创建移到 html 中时,控件在那里(意味着html 正在工作),但警报仍然没有显示(表示 javascript 要么被忽略,要么 onload 事件没有被被解雇)。这是代码:

<!DOCTYPE HTML>

<html>
<head>
  <title>GetLost</title>
  <script type="text/javascript">
        function loadcontrols()
    {
        var items = ["Green cuff", "Red cuff"];
        var prices = ["20.00", "30.00"];
        var colors = ["Green", "Red"];
        var urls = ["http://media-cache-ak0.pinimg.com/736x/0f/f8/11/0ff811addad9b0165263eb73ba9806f0.jpg", "http://www.opalona.com/images/produits/big/big_2049-3.jpg"];
        var controls = [];
        for(var i = 0; i < items.length; i++)
        {
            var item = new loaditem(items[i], prices[i], colors[i], urls[i]);
            controls.concat(item);
        }
        alert("All items loaded.")
    }
    function loaditem(name, value, color, imageUrl)
    {
        this.name = name;
        this.value = value;
        this.color = color;
        this.imageUrl = imageUrl;
        var container = document.CreateElement("div");
        container.style.height = "300px";
        container.style.width = "200px";
        container.style.backgroundColor = color;
        scroller.appendChild(container);
        var image = document.CreateElement("img");
        image.style.height = "220px";
        image.style.witdh = "180px";
        image.setAttribute("src", imageUrl);
        container.appendChild(image);
        var name = document.CreateElement("h4");
        name.innerHTML = name + " for $" + value;
        container.appendChild(name);
        alert("The product " + name + "has been loaded.")
    }
  </script>
</head>
<body onload="loadcontrols">
    <h1><b>Choose a product, and click on it to open it.</b></h1>
    <div style="overflow-x: scroll" name="scroller" height="310px" width="650px"></div>
</body>
</html>
4

1 回答 1

3

onload没有函数名;它需要一些 JavaScript 代码来运行。如果你有一行 JavaScript 代码只是引用了一个变量:

loadcontrols

然后,好吧,什么都没有发生。如果要调用它,则需要括号:

loadcontrols()
于 2014-12-28T01:22:39.200 回答