jquery - 鼠标移开时隐藏 div

标签 jquery mouseout

我有两个 div,一个用于简短摘要,一个用于长摘要。
当我将鼠标悬停在简短摘要上时,简短摘要消失并出现长摘要。
当我从长摘要中“鼠标移开”时,它应该消失,而简短摘要应该出现。

问题是,当我仍在长摘要的边界内但不在排序摘要的位置时,会发生 mouseout 事件

代码:

<head>
  <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.js"></script>
  <script>
      function show(Fdiv) {
          $(Fdiv).css("display", "none");
          $(Fdiv).next().css("display", "inline");
      }
      function hide(Sdiv) {
          $(Sdiv).css("display", "none");
          $(Sdiv).prev().css("display", "inline");
      }
  </script>

</head>
<body>
<div onmouseover="show(this)"> Sort summary <br /> Second Row</div>
<div onmouseout="hide(this)" style="display:none"> Long Summary <br /> Second Row<br /> Third Row <br /> Fourth Row</div>
</body>
</html>

最佳答案

您可以使用 CSS 来完成此操作,而不是使用 JavaScript。这具有性能以及语义和逻辑优势。

不过您必须稍微更改一下 HTML 结构。我假设这些摘要是针对书籍的。

HTML

<div class="book">
    <p class="short">Short summary.</p>
    <p class="long">Long summary.</p>
</div>

CSS

.book .long,
.book:hover .short { display:none }
.book:hover .long { display:block }

关于jquery - 鼠标移开时隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13007550/

相关文章:

javascript - 调整窗口大小时无法阻止 div 下拉

jquery - 绝对位置 div 的鼠标事件问题

javascript - 字符串长度未定义

javascript - 如果可拖动元素在可放置边界之前拖动,如何解决 jQuery UI 可放置错误,其中 over/out 不会触发

javascript - Highcharts - 如何在 mouseOver 和 mouseOut 上显示/隐藏多个数据标签

jQuery悬停效果问题

jquery - 悬停时的边框效果

html - 鼠标悬停在 HTML 函数中以弹出或放大图片

javascript - 无限滚动页面上的 Google DFP 广告管理系统代码

javascript - 选择第一个下拉列表时,相关下拉列表未加载