Javascript не работает почти бесплатно
Я создал сайт электронной коммерции для друга, используя javascript и html, а также с хостингом чуть ли не бесплатно. Я удостоверился, что загрузил html-страницу правильно, и нет ошибок (как в консоли, так и на самой странице). Я также пробовал как с javascript, встроенным в HTML, так и с 2 отдельными файлами, но ни один не работает. Я не использую никаких внешних библиотек. Я добавил оповещения о загрузке страницы, но ничего не появилось. Конструктор страницы подключается к странице через событие onload, установленное в теге body. Я пробовал это с 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>
1 ответ
onload
не принимает имя функции; для запуска требуется некоторый код JavaScript. Если у вас была одна строка кода JavaScript, просто ссылающаяся на переменную:
loadcontrols
Тогда, ну, ничего не происходит. Если вы хотите позвонить, вам нужны круглые скобки:
loadcontrols()