javascript - .mouseleave() 仅在移出特定边界时激活

标签 javascript jquery html css

我试图在鼠标悬停在另一个 div 上时创建一个卷起的 div。它打开但我希望它在离开底部边框时不要关闭。是否可以使用 JS 或 JQuery?这是我当前的代码:

$("#sell1").mouseenter(function(){
        $("#rollup1").css("display","inline");
    });
    $("#rollup1").mouseleave(function(){
        $("#rollup1").css("display","none");
    });
    $("#sell1").mouseleave(function(){
        $("#rollup1").css("display","none");
    });

最佳答案

在处理mouseleave时,可以获取元素的尺寸,查看事件的pageY是否在元素下方:

$("#rollup1").mouseenter(function() {
  $("#status").text("Over the element...");
});
$("#rollup1").mouseleave(function(e) {
  var $this = $(this);
  var bottom = $this.offset().top + $this.height();
  if (bottom < e.pageY) {
    $("#status").text("Left via bottom edge");
  } else {
    $("#status").text("Left NOT via bottom edge");
  }
});
#rollup1 {
  width: 50px;
  height: 50px;
  border: 1px solid black;
}
<div id="status">&nbsp;</div>
<div id="rollup1"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - .mouseleave() 仅在移出特定边界时激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37832359/

相关文章:

javascript - 在谷歌应用程序脚本中解析 html 的最佳方法是什么

javascript - ExpressJS 中的错误处理

javascript - 如何在 JavaScript 中定位下面的 div 的子元素

jquery隐藏/显示问题

javascript - 使用带有 javascript 的按钮添加文本并使用另一个按钮更改它

javascript - 嵌套表使用带有 'Data defined in a HTML table' 的 Highcharts 为基本柱形图生成意外的列

javascript - 如何在单个文本框中添加多个联系电话以及使用 javascript 添加的每个文本的 X(清除)按钮?

javascript - 使用 Angular $filter 搜索和过滤深层 json 值

javascript - 防止父级触发 jQuery

javascript - highcharts 打印图表/图表上下文菜单不可点击