javascript - 使用指针悬停时如何让文本显示在所有卡片中

标签 javascript html css

我试图让所有三张卡片在用鼠标指针悬停在它们上面时显示文本,但是它只显示左侧第一张卡片中的文本,而不显示其他两张卡片中的文本,即使我已经放了所有 3 个 div 中的 lorem ipsom 文本,用于它不会显示的卡片。

我已经在网上寻找解决方案,但找不到任何接近解决问题的方法。看来我可能必须添加一个 JavaScript 循环来遍历它,但我不知道如何做到这一点。

HTML

<div class="wrapper">
  <div class="card" id='card'>
    <div class="orangeCover">
      <p id="hidden" class='easein'>Lorem ipsum dolor sit amet, 
        consectetur adipisicing elit. Ipsa, eaque.
      </p>
    </div>
  </div>
  <div class="card" id='card'>
    <div class="orangeCover">
      <p id="hidden" class='easein'>Lorem ipsum dolor sit amet, 
        consectetur adipisicing elit. Ipsa, eaque.
      </p>
    </div>
  </div>
  <div class="card" id='card'>
    <div class="orangeCover">
      <p id="hidden" class='easein'>Lorem ipsum dolor sit amet, 
        consectetur adipisicing elit. Ipsa, eaque.
      </p>
    </div>
  </div>
</div>

CSS

    html,
    body {
      margin: 0;
    }

.wrapper {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-columns: auto auto auto auto;
}

.orangeCover {
  width: 250px;
  height: 250px;
  position: absolute;
}

.orangeCover:hover {
  background-color: orangered;
  transition: ease-in 0.5s;
}

.card {
  border: 2px orangered solid;
  width: 250px;
  height: 250px;
  margin-left: 100px;
  margin-top: 100px;
  background-image: url("http://source.unsplash.com/random/250x250");
}

#hidden {
  visibility: hidden;
}

.reveal {
  margin-left: 20px;
  color: white;
  font-size: 1.5rem;
}

Javascript

let text = document.querySelector("#hidden"), i;
let overlay = document.querySelector(".card");
let hiddenOverlay = document.querySelector(".card");

overlay.addEventListener("mouseover", newOverlay);
hiddenOverlay.addEventListener("mouseleave", hidden);

function newOverlay() {
  text.style.visibility = "visible";
  text.className = "reveal";
}

function hidden() {
  text.style.visibility = "hidden";
}

最佳答案

我删除了 IDhidden 并将它们添加为下面的 classes

JSFIDDLE片段。

关于javascript - 使用指针悬停时如何让文本显示在所有卡片中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52046582/

相关文章:

javascript - 如何为循环遍历数组的每组元素设置随机颜色?

javascript - 如何使元素在两点之间滚动

javascript - 无法将动态加载的文本区域转换为 ckeditor

html - 合并 CSS 中的相似元素?

javascript - Jquery 在调用 .click() 后显示隐藏文本。可能是 Jquery 未正确安装的问题

jquery - 面板应从底部向上滑动并将内容向上推,无覆盖

javascript - jquery 1.8 及更高版本,将一个 div 的高度设置为与另一个 div 相同

javascript - 是否可以读取另一个 url 的 dom 结构?

javascript - 在 javascript 中使用 fetch 时访问 header

java - 将 RegEx 从 Javascript 翻译成 Java