我有这个代码:
function displayMenu (newGal, newSub) {
curGal = newGal;
curSub = newSub;
if (curGal == null) {
curGal = "main";
};
arrayL = curGal.length;
if (curImg == null) {
curImg = 0;
};
if (curSub == null) {
curSub = 0;
};
prevImg = curImg - 1;
if (prevImg == null || prevImg < 0) {
prevImg = arrayL;
};
nextImg = curImg + 1;
document.getElementById('img1').style.display = "none";
};
Run Code Online (Sandbox Code Playgroud)
而且无论它给我的style是什么财产null.这段代码从以前的代码中被大规模拆除; 这是一个的一部分for本来应该用循环i为目标"img" + i,选择div用S id的img0- 9,然后我把它弄坏了下来,并试图手动瞄准每一个img0- 9用一个单独的线,它只是不断地刷新.是的,img0- 9div在HTML中.原始for循环看起来像这样:
for (i = 0; i < array.L; i++) {
var tempButton = "img" + i;
document.getElementById(tempButton).style.display = "none";
};
Run Code Online (Sandbox Code Playgroud)
为什么style属性null,我该如何解决?
Nie*_*sol 11
window.onload = displayMenu('main', 0);
Run Code Online (Sandbox Code Playgroud)
这是你的问题.请改用:
window.onload = function() {displayMenu('main', 0);}
Run Code Online (Sandbox Code Playgroud)
在您的代码中,displayMenu调用,然后分配该调用的返回值window.onload.这会失败,因为您在添加元素window.onload之前进行分配imgX.
在解决方案中,您将分配一个函数文字window.onload,在调用时运行displayMenu.它现在有效,因为元素已放置在页面上.
| 归档时间: |
|
| 查看次数: |
1651 次 |
| 最近记录: |