我试图创建多个部分并在点击时显示或隐藏它们。所以我有三个id
的:section2
,section2hidden
和section2visible
。ID不更改
请查看this website的非工作代码。点击6年级下的语言艺术链接,然后点击左上角的后退按钮(不在您的浏览器上!)。你会看到它带来了元素,但它仍然是opacity:0
什么的。
我试图创建多个部分并在点击时显示或隐藏它们。所以我有三个id
的:section2
,section2hidden
和section2visible
。ID不更改
请查看this website的非工作代码。点击6年级下的语言艺术链接,然后点击左上角的后退按钮(不在您的浏览器上!)。你会看到它带来了元素,但它仍然是opacity:0
什么的。
首先,当你开发javascript代码时,你需要有一个方法来调试。如果您使用Firefox,则会有一个名为Firebug的插件。如果你使用的是Chrome,它已经被集成。使用它,你会看到你的“后退”函数无法完全执行,因为没有带“6-2”id的元素,并且你正试图访问空对象的属性。 这回答“为什么它失败”的问题。我建议,但要看看这些东西:
.getElementById('6-1')...
.getElementById('6-2')...
使用循环让机器为您工作,不要盲目复制/粘贴。.hidden{display:none;}
当您拿走课程时,该元素将重新出现,因为该规则将不再适用。谢谢,但我是初学javascript的,我不知道如何使用参数或循环 –
也,我补充了其余部分(6-2, 6-3等),但它仍然不起作用。 –
以及如何向元素添加或移除类? –
当您按下后退按钮时,初始部分保留为ID section2hidden
。应该改回section2
。
我不能因为它会再次播放动画 –
你的代码似乎在寻找一个不存在的div时会停滞不前。
document.getElementById('6-2')
导致错误cannot read property 'style' of null
。
链接来来去去。请提供可重现的代码示例。 – Brad
ID标识元素。类风格他们。你根本不应该改变id。 – Dennis
@Brad +1,这应该更频繁地说! –