javascript - 使用 JavaScript 隐藏基于 CSS 条件的文本

标签 javascript css

有没有办法利用JavaScript的if语句来隐藏基于其他CSS样式的CSS元素?我在 SharePoint 中工作,我正在将一些 CSS 代码应用到我拥有的图像上,该图像上面有一些带有背景的文本。此图像具有悬停/动画效果,我想在悬停效果开始时隐藏文本和背景。类似于 if(image3.opacity="1") then(h2, h2 span, h2 span.spacer)=hide。我是 JavaScript 的新手,非常感谢您的帮助!

我目前所做的 CSScode 是下一个:

#image3 {
opacity: 0.4;
filter: alpha(opacity=40);
box-shadow: 0px 0px 15px grey;
alt: missing;
    transition-property: opacity;
    transition-duration: .2s;
}
#image3:hover {
    opacity: 1.0;
    filter: alpha(opacity=100); 
}
.image { 
   position: relative; 
   width: 100%;
}
h2 { 
   position: absolute; 
   bottom: 50px; 
   left: 5px; 
   width: 100%; 
}
 h2 span { 
   color: white; 
   font: bold 24px/45px Helvetica, Sans-Serif; 
   letter-spacing: 0px;  
   background: rgb(0, 0, 0);
   background: rgba(0, 0, 0, 0.6);
   padding: 9px; 
}
h2 span.spacer {
   padding:0 5px;
   background: rgba(0, 0, 0, 0);
}

最佳答案

您可以仅使用 CSS,具体取决于您的元素在 DOM 中的排列方式。假设这里 h2#image3 的兄弟:

#image3:hover + h2,
#image3:hover + h2 span,
#image3:hover + h2 span.spacer {
    display: none;
}

如果你想让元素淡出而不是消失,你可以使用不透明度和过渡:

#image3 + h2,
#image3 + h2 span,
#image3 + h2 span.spacer {
    opacity: 1;
    transition: opacity 150ms ease 1s; /* 1s delay */
}

#image3:hover + h2,
#image3:hover + h2 span,
#image3:hover + h2 span.spacer {
    opacity: 0;
}

关于javascript - 使用 JavaScript 隐藏基于 CSS 条件的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30055690/

相关文章:

javascript - 从对象数组中删除 onClick 元素

javascript - offset().top 和 element.offsetTop 之间的 jQuery 区别

javascript - 无法将 Observable 返回的对象作为输入组件 Angular 5 传递

javascript - 考虑到上传过程是异步的,如何在将文件上传到 firestore 后获取文件的元数据作为函数的返回值?

html - 具有内在比率的响应式 DIV,可水平和垂直缩放

javascript - 如何在 ng-repeat 循环中分配一个 angularjs 事件监听器?

html - 添加文本时,使 div 容器自动向左扩展宽度,而不是向右扩展

javascript - 向 NVD3 multiChart 添加额外的图表,缩短图表(由于图例)修复了什么?

javascript - 如何在基于拉斐尔的 Canvas 周围放置滚动条

Mac 上的 Chrome 中未加载 CSS