I am trying to call makeItem(breadstick)
from my HTML, but I am getting an error: Uncaught ReferenceError: breadstick is not defined
. I believe this is because, when you call a function, the parameters have to be either numbers or variables in your script.
Originally, breadstickvar
was just breadstick
, but then I got an Uncaught TypeError
at var elem = document.getElementById(item + "Bar");
. I am trying to make a reference to my HTML element, breadstickBar.
What I am hoping would happen was makeItem(breadstick) would be called, all of the item + "var"
would be equal to "breadstickBar", and thus work, and document.getElementById(item + "Bar")
would equal breadstickBar and reference my HTML element. I think this isn't working because breadstick
is not a variable any more.
Is there any way to either:
1) Call the function so that I don't get an error.
2) Rearrange my code so that var elem = document.getElementById(item + "Bar");
works.
var breadstickvar = {
number: 0,
price: 1,
time: 1000,
beingMade: 0
};
function makeItem(item) {
if ( (item + "var").beingMade == 0) {
(item + "var").beingMade = 1;
var elem = document.getElementById(item + "Bar");
var width = 0;
var id = setInterval(frame, 10);
function frame() {
if (width >= 200) {
clearInterval(id);
} else {
width += 2;
elem.style.width = width + 'px';
}
}
}
}
It was like this before:
var breadstick = {
number: 0,
price: 1,
time: 1000,
beingMade: 0
};
function makeItem(item) {
if ( item.beingMade == 0) {
item.beingMade = 1;
var elem = document.getElementById(item + "Bar");
var width = 0;
var id = setInterval(frame, 10);
function frame() {
if (width >= 200) {
clearInterval(id);
} else {
width += 2;
elem.style.width = width + 'px';
}
}
}
}