使用鼠标退出删除类

Kir*_*rks 8 jquery mouseleave

我正在使用jQuery执行一个关于mouseenter/mouseleave的操作,它似乎正在工作但不是当我退出div时.这仅在退出实际窗口时有效.

这是我的jQuery

$(document).ready(function() {
  $(".pods .col").on("mouseenter", function() {
    $(this).find(".pod-overlay").addClass("show")
  });
  $(".pods .col").on("mouseleave", function() {
    $(this).find(".pod-overlay").removeClass("show")
  });
});
Run Code Online (Sandbox Code Playgroud)

这是我的HTML

<div id="splash" class="section section-splash bg">
  <div class="pods">
    <div class="col col-4">
      <div id="pod-splash-food" class="pod pod-food">
        <div class="pod-overlay"></div>
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我在这里做了一个小提琴.我正在学习jquery,所以建议表示赞赏.

http://jsfiddle.net/34h48148/

Lin*_*TED 4

你的功能完美!问题是覆盖。你放置绝对的,使它覆盖整个身体。所以,稍微改变一下你的CSS、位置.pods.col相对。

.pods,.col { overflow: auto; position: relative; }
Run Code Online (Sandbox Code Playgroud)

更新了小提琴

我对你的函数唯一要改变的就是将两个事件绑定在同一个调用者上:

$(document).ready(function() {
    $(".pods .col").on("mouseenter", function() {
        $(this).find(".pod-overlay").addClass("show")
    }).on("mouseleave", function() {
        $(this).find(".pod-overlay").removeClass("show")
    });
});
Run Code Online (Sandbox Code Playgroud)