我已经制作了一个网页(woohoo)来测试一些CSS3过渡(再次woohoo)的事情。转换工作得很好(最后哇哇)。然而,新的HTMLElement.classList对另一个元素做了一些奇怪的事情。
网页:http://hotblocks.nl/tests/css/transitions.html
它的作用:
在body元素上切换类b
。
它是如何做到的:
令人难以置信的简单:document.body.classList.toggle('b');
它有效!但!身体的第一个孩子不知何故被改变了。在切换之前,第一个孩子的班级是slow
,然后被改为object
(通过切换???)。
为什么这样做?我没有正确使用切换功能吗?切换功能是否与我期望的不同?没有仔细阅读文档/规范,但它(.classList)变得简单了吧?
答案 0 :(得分:3)
问题不在toggle
函数中,而是在页面末尾的脚本标记中初始化按钮标记的事件处理程序。
该脚本在文档中为所有button
标记添加一个事件处理程序,以便单击按钮可将按钮的父元素中第一个div的类设置为{{ 1}}加上按钮的类名。
您可能只打算将此事件处理程序添加到来回按钮,但它也会添加到bgcolor按钮,导致它在单击按钮时更改object
div的类名。 / p>