Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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
Javascript 使用css和js在单击时在图像上切换信息_Javascript_Css_Toggle_Overlay - Fatal编程技术网

Javascript 使用css和js在单击时在图像上切换信息

Javascript 使用css和js在单击时在图像上切换信息,javascript,css,toggle,overlay,Javascript,Css,Toggle,Overlay,我如何在我的公文包图像上单击以显示有关项目的信息,并在第二次单击时重新单击以隐藏此信息? 希望使用简单的js而不是jquery 请查看网站,但不查看。按住“单击并不切换”按钮,网站将正常运行: 我浏览了一下你的网站,这可能是解决你问题的一个可能办法 在JS中添加以下脚本: var imageElems = document.getElementsByClassName('image-box'); for (var i=0; i<imageElems.length; i++) {

我如何在我的公文包图像上单击以显示有关项目的信息,并在第二次单击时重新单击以隐藏此信息? 希望使用简单的js而不是jquery

请查看网站,但不查看。按住“单击并不切换”按钮,网站将正常运行:

我浏览了一下你的网站,这可能是解决你问题的一个可能办法

在JS中添加以下脚本:

var imageElems = document.getElementsByClassName('image-box');

for (var i=0; i<imageElems.length; i++) {
    imageElems[i].addEventListener('click', function() {
        this.querySelector('.overlay').classList.toggle('show');
    });
 }
基本上,我在这里做的是,我在所有图像上添加了一个单击事件,使用
className:image box
在单击时切换一个名为
show
的类


另外,你应该以更好的方式提出你的问题,为你的问题提供代码示例,以便这里的人能够更好地理解你的问题。我之所以尝试帮助你,唯一的原因是因为我看到你是一个试图编写一些代码的平面设计师,这已经足够令人鼓舞了!:)

我浏览了一下你的网站,这可能是解决你问题的一个可能办法

在JS中添加以下脚本:

var imageElems = document.getElementsByClassName('image-box');

for (var i=0; i<imageElems.length; i++) {
    imageElems[i].addEventListener('click', function() {
        this.querySelector('.overlay').classList.toggle('show');
    });
 }
基本上,我在这里做的是,我在所有图像上添加了一个单击事件,使用
className:image box
在单击时切换一个名为
show
的类


另外,你应该以更好的方式提出你的问题,为你的问题提供代码示例,以便这里的人能够更好地理解你的问题。我之所以尝试帮助你,唯一的原因是因为我看到你是一个试图编写一些代码的平面设计师,这已经足够令人鼓舞了!:)

您也可以在没有JS、纯CSS的情况下实现所需的效果

.element{
位置:相对位置;
高度:300px;
宽度:300px;
背景:红色;
}
.pseudo复选框{
位置:绝对位置;
排名:0;
左:0;
身高:100%;
宽度:100%;
不透明度:0;
光标:指针;
}
.pseudo复选框:选中+.description{
显示:首字母;
}
.说明{
显示:无;
位置:绝对位置;
最高:50%;
左:50%;
转换:翻译(-50%,-50%);
}

描述

您也可以在没有JS(纯CSS)的情况下实现所需的效果

.element{
位置:相对位置;
高度:300px;
宽度:300px;
背景:红色;
}
.pseudo复选框{
位置:绝对位置;
排名:0;
左:0;
身高:100%;
宽度:100%;
不透明度:0;
光标:指针;
}
.pseudo复选框:选中+.description{
显示:首字母;
}
.说明{
显示:无;
位置:绝对位置;
最高:50%;
左:50%;
转换:翻译(-50%,-50%);
}

描述

您能否提供您尝试执行的操作的代码示例,以便我们能够帮助您。添加相关的HTML和JavaScript代码您能否提供您尝试执行的操作的代码示例,以便我们能够帮助您。添加相关的HTML和JavaScript代码您正在为每个图像添加
addEventListener
,那太多了!!为什么太多了?如果在jQuery中执行一个
$('.image box')
,那么它或多或少是一样的。如果他想用纯JS做点什么,那么他需要在每张图片上添加一个事件侦听器。是的,这是真的,对不起,我的错。首先非常感谢你nashcheez。是的,我必须以更好的方式发布这个问题,这是我在stackoverflow的第一篇帖子。我尝试创建一个简单的网站,并尝试解决自己的一些编码问题,但这并不容易,我是js新手。你正在为每个图像添加
addEventListener
,这太多了!!为什么太多了?如果在jQuery中执行一个
$('.image box')
,那么它或多或少是一样的。如果他想用纯JS做点什么,那么他需要在每张图片上添加一个事件侦听器。是的,这是真的,对不起,我的错。首先非常感谢你nashcheez。是的,我必须以更好的方式发布这个问题,这是我在stackoverflow的第一篇帖子。我尝试创建一个简单的网站,并尝试解决自己的一些编码问题,但这并不容易,我是js新手。谢谢Andrzej Ziółek,但我将使用js+css的方式来实现这一点。但是谢谢你的选择。没问题,这都是关于不同的方法:)。谢谢你的欣赏,谢谢你Andrzej Ziółek,但我会用js+css的方式来做这件事。但是谢谢你的选择。没问题,这都是关于不同的方法:)。谢谢你的欣赏。