javascript - 多个 div 悬停相同的功能

标签 javascript jquery html css

这里我有六个不同的 div 悬停蓝色 div 应该出现,默认情况下隐藏。我已经为此编写了代码,但它仅适用于第一个 div 我将所有 div 合并到一个变量中。任何人都可以向我建议我在这里缺少什么

var tcpTooltip = $('.tp-cont-tech, tp-cont-b, tp-cont-m, tp-cont-t, tp-cont-i, tp-cont-e');
var tcpTooltipDiv = $('.tpc-tooltip-tech, tpc-tooltip-b, tpc-tooltip-m, tpc-tooltip-t, tpc-tooltip-i, tpc-tooltip-e');
tcpTooltipDiv.hide();
$(tcpTooltip).each(function() {
  $(tcpTooltip).hover(function() {
    $(tcpTooltipDiv).show();
  }, function() {
    $(tcpTooltipDiv).hide();
  });
});
/* Tooltip */

.tp-cont-tech,
.tp-cont-e,
.tp-cont-t,
.tp-cont-m,
.tp-cont-i,
.tp-cont-b {
  position: relative;
  width: 200px;
  height: 200px;
  background-color: red;
  margin-bottom: 20px;
}

.tpc-tooltip-tech,
.tpc-tooltip-e,
.tpc-tooltip-t,
.tpc-tooltip-m,
.tpc-tooltip-i,
.tpc-tooltip-b {
  position: absolute;
  top: 2%;
  left: 5%;
  z-index: 10;
  width: 100px;
  height: 100px;
  background-color: blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="tpc-info">
  <div class="tp-cont-tech">
    <div class="tpc-tooltip-tech"></div>
  </div>
  <div class="tp-cont-b">
    <div class="tpc-tooltip-b"></div>
  </div>
  <div class="tp-cont-m">
    <div class="tpc-tooltip-m"></div>
  </div>
  <div class="tp-cont-t">
    <div class="tpc-tooltip-t"></div>
  </div>
  <div class="tp-cont-e">
    <div class="tpc-tooltip-e"></div>
  </div>
</div>

最佳答案

如前所述,我将使用纯 CSS 和 :hover 伪。
如果您出于某种原因真的需要 jQuery,这将是您代码的重制。

基本上(除了向您的元素添加公共(public)类 [参见下面的代码])您需要当前悬停元素的 $(this) 引用:

var $tpCont = $('.tp-cont');
var $tcpTooltip = $('.tcp-tooltip');

$tcpTooltip.hide();

$tpCont.hover(function() {
  $(this).find($tcpTooltip).toggle();
});
.tp-cont {
  position: relative;
  width: 200px;
  height: 200px;
  background-color: red;
  margin-bottom: 20px;
}

.tcp-tooltip {
  position: absolute;
  top: 2%;
  left: 5%;
  z-index: 10;
  width: 100px;
  height: 100px;
  background-color: blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="tpc-info">
  <div class="tp-cont tp-cont-tech">
    <div class="tcp-tooltip tpc-tooltip-tech"></div>
  </div>
  <div class="tp-cont tp-cont-b">
    <div class="tcp-tooltip tpc-tooltip-b"></div>
  </div>
  <div class="tp-cont tp-cont-m">
    <div class="tcp-tooltip tpc-tooltip-m"></div>
  </div>
  <div class="tp-cont tp-cont-t">
    <div class="tcp-tooltip tpc-tooltip-t"></div>
  </div>
  <div class="tp-cont tp-cont-e">
    <div class="tcp-tooltip tpc-tooltip-e"></div>
  </div>
</div>

关于javascript - 多个 div 悬停相同的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57092788/

相关文章:

javascript - jQuery 委托(delegate)事件绑定(bind)不起作用?

javascript - $tds.attr ('disabled' ,'disabled' );没有达到我想要的效果

javascript - 如何使 Bootstrap 缩略图大小相同,即使在调整窗口大小后也是如此?

javascript - JavaScript 中的 for 和 if

javascript - WebGL - INVALID_OPERATION : texImage2D: ArrayBufferView not big enough for request

java - Ajax 调用 404 未找到

jQuery SlideIn 动画到 Angular 中的 CSS 动画

javascript - 通过数据属性选择带有JS的元素,其中包含引号

html - 如何在移动设备上调整灵活文本区域的大小?

javascript - ng 单击功能在 angularJS Controller 中不起作用