只允许CSS悬停事件超时后使用JavaScript
only allow CSS hover event after timeout using JavaScript
我想只允许在元素停止悬停一段时间后出现悬停事件,如果鼠标重新进入悬停的元素,我想让它表现得好像鼠标从未离开过。
ex:一个导航在CSS:hover上有一个下拉菜单,如果用户的鼠标错误地离开了悬停元素,下拉菜单会立即消失,相反,我想设置一个计时器来检查鼠标是否悬停超过500ms,如果是,关闭下拉菜单;如果鼠标在该时间段内再次进入,请停止关闭事件并使菜单保持打开状态。
HTML::
<nav>
<ul>
<li>ghetto nav item 1
<ul>
<li>awful Dropdown item</li>
</ul>
</li>
<li>ghetto nav item 2</li>
</ul>
</nav>
CSS::
nav > ul > li > ul > li {
display: none;
}
nav > ul > li:hover + ul > li {
display: block;
}
JS:: ??
您可以使用CSS3来做到这一点。将transition-delay
与元素的height
一起应用,而不是切换display
:
nav > ul > li > ul > li {
transition-delay: 0.5s;
height: 0px;
overflow: hidden;
}
nav > ul > li:hover > ul > li {
transition-delay: 0s;
height: 100%;
}
<nav>
<ul>
<li>ghetto nav item 1
<ul>
<li>awful Dropdown item</li>
</ul>
</li>
<li>ghetto nav item 2</li>
</ul>
</nav>
相关文章:
- CXP项目中的Javascript超时
- 如何一个接一个地运行javascript超时,而不是并行运行
- ASP.NET JavaScript 超时后关闭页面
- 强制 JavaScript 超时函数立即执行
- PHP 循环中的 JavaScript 超时
- 循环中的javascript超时
- HTML5/Javascript超时没有't完成功能
- 多个JavaScript超时弹出窗口,只有在上一个弹出窗口关闭时才会显示
- 在揭示模块模式中取消失控的JavaScript超时/间隔
- 对javascript超时感到困惑
- 如何清除所有javascript超时
- 嵌套循环(2级)Javascript超时
- 取消Javascript超时
- javascript超时函数
- JavaScript :超时的 for 循环
- 如何使用Firebug检查javascript超时?
- Javascript超时循环不会等待
- 满足条件后的Javascript超时
- 多个javascript超时-实时数据获取的问题
- 可变时间参数Javascript超时