【问题标题】:jQuery hoverIntent Plugin show / hide div on parent hover, but keep showing when hoveredjQuery hoverIntent插件在父悬停时显示/隐藏div,但在悬停时继续显示
【发布时间】:2010-12-19 23:10:25
【问题描述】:

我有一个按钮,当悬停(鼠标悬停)时,它会在其正下方显示一个 div。当悬停(鼠标悬停)时,div 消失。

这一切都很好,很好,但现在我需要将 div 保留在按钮下方,以显示用户是否将鼠标悬停在该 div 上(与 div 内的内容进行交互)。

目前这是不可能的,因为当您将鼠标悬停在触发 div 显示的按钮之外时,div 会立即消失。

我正在使用hoverIntent jQuery 插件来完成此操作。

// This is the button that when hovered
// triggers the div below it to show
$('#hoverMeToShowHideDiv').hoverIntent(function () {

$("#displayDiv").stop().slideDown('slow');
},
function () {
    // I don't want the div to hide if user hovers over it
    $("#displayDiv").stop().slideUp('slow');
});

HTML:

<div id="hoverMeToShowHideDiv"> // some stuff </div>
<div id="displayDiv"> 
    // some other stuff that I want to 
    // keep showing if users hover over it 
</div>

【问题讨论】:

  • 我对不涉及 hoverIntent 插件的解决方案持开放态度
  • 您也可以发布您的 html 吗?或者,更好的是,现场直播JS Fiddle,或JS Bin,演示?
  • David 我添加了 html(非常简单,真的),但在应用 @box9 解决方案后让它工作。

标签: jquery hoverintent


【解决方案1】:

在按钮和#displayDiv 周围粘贴另一个div #wrapperDiv 并将hoverIntent 附加到#wrapperDiv 而不是按钮:

$('#wrapperDiv').hoverIntent(function () {
   $("#displayDiv").stop().slideDown('slow');
},
function () {
   // I don't want the div to hide if user hovers over it
   $("#displayDiv").stop().slideUp('slow');
});

HTML:

<div id="wrapperDiv">
   <div id="hoverMeToShowHideDiv"> // some stuff </div>
   <div id="displayDiv"> 
      // some other stuff that I want to 
      // keep showing if users hover over it 
   </div>
</div>

【讨论】:

  • 简单而漂亮的解决方案,非常感谢!有趣的是我什至没有想到。
猜你喜欢
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 2011-07-21
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多