如果游标在div内,则显示块jquery

时间:2012-08-07 10:23:03

标签: javascript jquery

以下是问题的解决方法: http://jsfiddle.net/MEJgb/

我想要它,所以当你将鼠标悬停在页脚的任何位置时,toggledown将变为活动状态并保持活动状态,直到你从页脚移动鼠标为止。

2 个答案:

答案 0 :(得分:1)

即使我不确定你的实际目标是什么,也许document.elementFromPoint()方法可以帮助你。

一样调用
if( document.elementFromPoint( event.pageX, event.pageY ) === $('#footer')[0] ) { }

在您的hover又名mouseenter / mouseleave处理程序中,该代码会将当前绝对鼠标光标X / Y位置下的节点与#footer进行比较节点

参考:MDN docW3C doc

答案 1 :(得分:1)

您的问题如下:

    jQuery('html,body').animate({
        scrollTop: jQuery("#footer_copy_right").offset().top
    }, 'slow');

这会导致整个页面移动,因此您悬停的项目不再悬停在上面,因此它会再次触发您的事件并隐藏您的文本。当我测试时,这导致悬停内容在我的鼠标下移回,从而再次触发......

我个人不会在这种情况下使用悬停,让用户点击展开然后再次点击进行折叠。

如果您想继续使用悬停选项,则需要确定触发崩溃的事件应该是什么。显然,当前的选择(鼠标不再超过箭头)是不够的。

通常我要做的是将悬停附加到包含可见触发块的块以及将要显示的内容。这样,在移出新显示的内容之前,您的内容不会崩溃。

http://jsfiddle.net/AjHwM/就是这样一个例子。