在鼠标悬停时显示/隐藏 DIV
Show / hide DIV on mouse over
我想在图像/链接悬停上显示一个 DIV,我写了以下代码
$("#NotificationSummary").hover(
function () {
$("#dvNotifications").slideDown();
},
function () {
$("#dvNotifications").slideUp();
}
);
DIV 在悬停时显示,但当我移动到div 时它会隐藏,当鼠标悬停在它上面时,我如何阻止div 隐藏
请查看演示 http://jsfiddle.net/3hqrW/15/
[根据注释重新编辑] JSFIDDLE 修订,删除了仅限 CSS 的解决方案。诀窍是监视滑动元素的悬停状态,并使用超时允许用户在滑动元素上移动(另请参阅更新的 jsfiddle 中的注释)。
jsfiddle 派生自 OPs jsfiddle @here
使用 #ids 的悬停功能:
function hover(e){
e = e || event;
var el = e.target || e.srcElement
,showel = $('#dvNotifications')
;
if (!/NotificationSummary/i.test(el.id)) {
showel .attr('data-ishovered',/over/i.test(e.type));
} else {
showel .attr('data-ishovered',false)
}
if (/true/i.test(showel .attr('data-ishovered'))){return true;}
if (/over$/i.test(e.type) && /NotificationSummary/i.test(el.id)){
showel .slideDown();
} else {
setTimeout(function(){
if (/false/i.test(showel .attr('data-ishovered'))) {
showel .slideUp();
showel .attr('data-ishovered',false);
}
}
,200);
}
}
Tanveer 请看这个演示: http://jsfiddle.net/rathoreahsan/3hqrW/
要在悬停时显示的div 应该位于要悬停的主div 内,并且主div 应具有 css 属性:display:block
另一个演示:http://jsfiddle.net/rathoreahsan/SGUbC/
$("#NotificationSummary").mouseenter(function() {
$("#dvNotifications").fadeIn();
}).mouseleave(function() {
$("#dvNotifications").fadeOut();
});
相关文章:
- Onchange没有'不要显示或隐藏Div
- 当DIV的高度低于某个数字时,隐藏DIV的正确逻辑是什么
- 如何使用Javascript替换和隐藏Div内容
- 单击javascript按钮显示/隐藏Div元素
- 隐藏 DIV 标签,直到填充所有文本字段
- 检测HTML5视频是否正在播放或暂停,并相应地显示或隐藏Div
- 通过点击隐藏DIV,并通过JavaScript显示另一个DIV
- 如果另一个存在jQuery,则隐藏Div
- 使用JS隐藏Div(简单)
- 根据搜索内容和Div中的文本值隐藏Div
- 使用 javascript 在 DOM 中隐藏 DIV 中的文本,具体取决于另一个 DIV 中的文本
- 如果显示 n/a 值,则隐藏 DIV
- 我将如何制作一个使用纯JavaScript在点击时隐藏DIV的系统
- 如果文本为 0,JavaScript 隐藏 DIV 标记
- 从选择选项中隐藏 Div 时
- 在鼠标悬停时显示/隐藏 DIV
- 使用 JavaScript 显示/隐藏 DIV
- 显示/隐藏 Div 仅由按钮触发
- 根据选择语句选项隐藏 Div 类
- 隐藏 DIV,如果窗口窄于 DIV,则替换为 DIV