javascript - jquery:在 mouseenter 上删除堆叠在另一个 <div> 之上的 <div> 并在 mouseleave 上恢复该 <div>

标签 javascript jquery css mouseenter mouseleave

挑战如下:

我在 HTML 文件中有两个层叠在一起的 div。顶部 div 使用 CSS 大部分是透明的,底部 div 有一个图像作为背景。在 mouseenter 上,我希望顶部 div 消失,在 mouseleave 上,我希望顶部 div 回来。

$(document).ready(function() {

  $('.dimmer').on('mouseenter', event => {
    $(this).hide();
  }).on('mouseleave', event => {
    $(this).show();

  });


});
.experience {
  background: url("cmu-110.png") no-repeat center;
  height: 110px;
  width: 110px;
  z-index: 2;
}

.dimmer {
  background: rgba(238, 238, 238, .25);
  position: relative;
  top: -128px;
  z-index: 3;
}
<div>
  <div class="experience"></div>
  <div class="dimmer"></div>
</div>

上面的 jquery 代码片段位于一个单独的文件中,并在 html 的 head 中调用。

<head>
  <!--- Some head stuff like title, meta, calling css in separate file, etc --->

  <!--jquery-->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


  <script src="interaction.js"></script>

</head>

完全透明:我是 jquery 新手,第一次尝试使用它。尽管完成了完整的 codecademy jquery 教程,阅读了 w3C 学校教程,搜索了其他 stackoverflow 帖子,并花费了超过合理的时间,但我似乎无法让它工作 - 可能是由于一个愚蠢的错误。 p>

感谢您的帮助!

最佳答案

我相信底部 div 上的 jquery '.on( "mouseout", handler )' 应该足以使顶部 div 可见/淡入。

这篇文章应该对您有帮助:jquery .mouseover() and .mouseout() with fade

如果没有(如果这不起作用)我会做/建议是:

  1. 当鼠标进入顶部 div 时,激活 setTimeout 轮询函数或每 1 秒左右运行一次的 .mouseMove,检查鼠标位置并隐藏顶部 div。
  2. 如果鼠标不在底部 div (mousemove) 上,则显示顶部 div 并禁用轮询。

您可以在这个论坛上搜索如何编写 setTimeout 轮询函数等。如果我周末有时间,我会尝试一下...

相信这会有所帮助。

关于javascript - jquery:在 mouseenter 上删除堆叠在另一个 <div> 之上的 <div> 并在 mouseleave 上恢复该 <div>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49567515/

相关文章:

javascript - 如何创建随机字符串JS

html - 如何只在第一个类型元素中添加内容?

javascript - 如何更改 HTML 页面中选定文本的颜色?

javascript - AngularJS:将 XML 字符串加载到 XML 文档

javascript - Gatsby - "value"必须至少包含 [icon, icons] 之一

javascript - 出现错误消息后重置变量

javascript - 过滤 Kendo UI 网格时出错

javascript - 如何使 $ ('#some-id' ) 返回与 getElementById ('some-id' 相同的对象)

html - 使用 CSS、Canvas 或 SVG 的三 Angular 形

javascript - 如何将 JavaScript DOM 元素放入对象中并访问它们?