情况
我有一个包含一些基本javascript代码的玻璃破碎效果模拟,目前它可以正常工作;当你点击标志时,玻璃会相应地破碎,然后一个新的未破碎的标志会出现在原来的位置。
请看这里的jSFiddle: https://fiddle.jshell.net/9n9ft9ks/3/
问题
目前,在页面上只有一个标志。 我需要有多个标志,可能像五个(相同的Floyd's autoglass标志)都在同一页上,并且都具有相同的onClick玻璃破碎效果。但是当我尝试自己做这件事时 - 在页面上放置多个(相同的标志),代码就会崩溃。
我如何尝试修复它
带玻璃碎片效果的标志是一个名为"#container
"的div。因此,由于我想在页面上有多个这样的标志,我尝试在HTML代码中只是复制"<div id="container"></div>
"几次。但那行不通:
https://fiddle.jshell.net/9n9ft9ks/5/
所以我尝试将id
更改为class
,并编辑所有需要更改的JavaScript和CSS行,例如:
document.getElementById('container');
更改为:
document.getElementsByClassName('container');
和
#container: {}
更改为 .container{}
但对我来说似乎也不起作用。在进行这些更改后,标志甚至不再显示在页面上,请看这里:
https://fiddle.jshell.net/9n9ft9ks/4/
摘要
我有一个带有onClick玻璃破碎效果的标志。页面上只有一个标志。我需要在页面上有不止一个,但我自己似乎无法让它工作...如果有人能查看代码并尝试让它工作,那么我将非常感激!这里是原始的jSfiddle链接:https://fiddle.jshell.net/9n9ft9ks/3/
document.getElementsByClassName('container');
时,将会返回多个元素。我注意到在控制台中出现了错误,因为您正在尝试对包含多个元素的数组中的容器执行container.appendChild...
而不是只有一个元素对象。 - camiblanch