Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击时清除图像(带有HTML和Javascript的彩色可视化工具)_Javascript_Html_Css - Fatal编程技术网

单击时清除图像(带有HTML和Javascript的彩色可视化工具)

单击时清除图像(带有HTML和Javascript的彩色可视化工具),javascript,html,css,Javascript,Html,Css,我已经在这个网站上的一个成员的帮助下创建了一个可以找到的金属建筑颜色可视化工具。由于某些原因,我无法附加代码片段,但我在下面的注释中有一个指向完整代码的链接。 一切都很好,但有一个小故障。当我从左到右点击颜色时,我没有问题。但是,当从右向左单击颜色时,图像层将保持在上一图像层的上方。有办法解决这个问题吗?我的想法是当点击色样时,上一层会被清除。但我不确定这是否有效。提前感谢。之所以只能从左到右使用,而不能从右使用,是因为您的所有图像元素都是堆叠在一起的。因此,当您显示一个图像时,会阻止其下的所有

我已经在这个网站上的一个成员的帮助下创建了一个可以找到的金属建筑颜色可视化工具。由于某些原因,我无法附加代码片段,但我在下面的注释中有一个指向完整代码的链接。
一切都很好,但有一个小故障。当我从左到右点击颜色时,我没有问题。但是,当从右向左单击颜色时,图像层将保持在上一图像层的上方。有办法解决这个问题吗?我的想法是当点击色样时,上一层会被清除。但我不确定这是否有效。提前感谢。

之所以只能从左到右使用,而不能从右使用,是因为您的所有图像元素都是堆叠在一起的。因此,当您显示一个图像时,会阻止其下的所有其他图像显示。设置html排序的方式使您无法正确使用隐藏div的切换

简单的解决方案是在切换之前隐藏该图像组“墙”组、“门”组等中的所有其他元素。我添加了几个div,它们将图像分组在一起,当您单击图像时,它会捕获父div,然后循环隐藏该图像组中所有未单击的图像。然后,它会像正常一样切换单击的图像

这可能不是最好的方法。理想情况下,我会重新设计html,使其在每个组中只使用一个div,并将图像注入div中。不过,这对于代码的结构应该是可行的

迈斯利德斯先生{ 显示:无; 位置:绝对位置; } .主动{ 显示:块; } var slideIndex=1; 函数plusDivsn{ showDivsslideIndex+=n; } 函数currentDivn{ showDivsslideIndex=n; } 函数showDivsn{ var i; var x=document.getelementsbyclassnammyslides; var dots=document.getElementsByClassNamedemo; 如果n>x.length{ slideIndex=1 } 如果n<1{ slideIndex=x.length } var children=x[slideIndex-1].parentElement.getElementsByTagName'img' 变量clickedElement=x[滑动索引-1] 对于变量i=0;i请尝试包含一些代码,您可以通过so编辑器来完成。如果我们需要开始检查您的代码,那么调试将花费更多的时间。另外,如果链接稍后断开,您的问题就没有意义了。您好,我尝试了多次,但一直收到此消息。您的帖子似乎包含未正确格式化为代码的代码。请使用“代码”工具栏按钮或CTRL+K键盘快捷键将所有代码缩进4个空格。有关更多编辑帮助,请单击[?]工具栏图标。查看正在发生的情况,您只需在设置新活动类时从包含该活动类的元素中删除该活动类。此处代码:就是它。非常感谢。