1

我正在尝试创建多个部分并在点击时显示或隐藏它们。所以我有三个idsection2section2hiddensection2visible

请查看此网站上的非工作代码。点击六年级下的语言艺术链接,然后点击左上角的后退按钮(不是在浏览器上!)。你会看到它把元素带回来了,但它仍然是opacity:0什么。

4

3 回答 3

2

在寻找不存在的 div 时,您的代码似乎停滞不前。

document.getElementById('6-2')

导致错误cannot read property 'style' of null

于 2012-12-09T05:15:39.640 回答
1

首先,当你开发javascript代码时,你需要有一个方法来调试。如果您使用的是 Firefox,则有一个名为 Firebug 的插件。如果您使用的是 Chrome,则它已经集成。使用它,您会看到您的“返回”函数无法完全执行,因为没有具有“6-2”id 的元素,并且您正在尝试访问空对象的属性。这回答了“为什么失败”的问题。我建议您查看以下内容:

  • 基本功能概念。您可以拥有一个带参数的函数,而不是构建“one()、two()、three()”等函数。
  • 基本循环编程。您正在使用类似的代码
    
    .getElementById('6-1')...
    .getElementById('6-2')...
    
    使用循环让机器为你工作,不要只是盲目地复制/粘贴。
  • CSS 类。无需更改元素的 id,只需为其添加一个类,例如“隐藏”。然后添加一个规则,如
    .hidden{display:none;}
    当您带走课程时,该元素将重新出现,因为该规则将不再适用。
于 2012-12-09T05:23:29.503 回答
0

当您按下返回按钮时,初始部分仍保留 ID section2hidden。应该改回section2.

于 2012-12-09T05:13:53.857 回答