Javascript 使用css和js在单击时在图像上切换信息
我如何在我的公文包图像上单击以显示有关项目的信息,并在第二次单击时重新单击以隐藏此信息? 希望使用简单的js而不是jquery 请查看网站,但不查看。按住“单击并不切换”按钮,网站将正常运行: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中添加以下脚本:
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的方式来做这件事。但是谢谢你的选择。没问题,这都是关于不同的方法:)。谢谢你的欣赏。