求助大神!js通过DOM创建了元素,运行却显示undefined

高分请说下,求助大神!js通过DOM创建了元素,运行却显示undefined?

我在写一个类似雷电的网页游戏,先定义了一个全局变量数组var bul=[],来存放我灰机子弹,再定义了i=0对数组进行操作;然后通过通过bul[i]=document.createElement('div')创建。并添加到sky背景中。但是运行时bul[i].style.top=bul[i].offsetTop-10+'px'这句报错,说不能获取未定义的属性,在appendChild之前怎么不报错呢?新手,求大神解答。代码在图片里。
最新回答
寂寞在蔓延

2024-11-26 07:55:28

首先看一下bul[i]是否存在,如果存在就不会报错。第二,bul[i].offsetTop-10+'px'不会出现相加,因为会把它们都当做
字符串
拼接了,改为(bul[i].offsetTop-10)+'px'。
无戏配角

2024-11-26 07:49:17

你的i没有定义
追问
定义了,全局变量。第二张图45行。
追答
你的bul是一个div的数组? 所以bul[i]应该是div额,div是没有timer属性的啊。
把timer放到其他数组里面去吧,用索引值关联就可以