3

这是问题的一个jsfiddle:http: //jsfiddle.net/MEJgb/

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

4

2 回答 2

1

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

它被调用像

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

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

参考:MDN 文档W3C 文档

于 2012-08-07T10:34:21.190 回答
1

您的问题是以下行:

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

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

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

如果您想继续使用悬停选项,那么您需要决定触发折叠的事件应该是什么。显然,当前的选择(鼠标不再位于箭头上)是不够的。

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

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

于 2012-08-07T11:28:38.360 回答