JS菜单下拉框问题,熟悉js的帮我看看,鼠标移除下拉不会消失

很简单的JS下拉,onmousemove事件触发独立下拉框,但是当鼠标离开后下拉依然存在,由于是独立的下拉框,所以用onmouseout事件的话不理想,鼠标移动到下拉菜单便消失。贴代码:

JS代码:

function menu_move(sthis,i,name,m){
var navH = $(sthis).offset().left;
for(var k=1;k<=m;k++){
if(i==k){
$('#'+name+k).css({"position":"absolute","margin-right":navH});
$('#'+name+k).show();
}
else{
$('#'+name+k).hide();
}
}
}

一级菜单:
<div class="fxnmenu">
<ul>
<li><a href="/invest/index.html?type=going" onmousemove="menu_move(this,2,'menid_',6)">我要理财<!--<span class="down"></span>--></a></li>
</ul>
</div>

独立下拉框:
<div class="fxnnav fxnnav_invest" style="display: none;" id="menid_2">
<table>
<tr><td><a href="#">推荐标</a></td></tr>
<tr><td><a href="#">净值标</a></td></tr>
</table>
</div>

既然你使用的是JQ,那就可以用另外一个方法

$(".fxnmenu ul li,.fxnnav_invest").hover(function(){鼠标over的时候执行显示},function(){鼠标out的时候执行隐藏});追问

不用另外一个办法,就这个办法的话能实现吗?就在鼠标移开的时候做一个清除或者什么动作。

追答

onmouseover这个才是鼠标移动到当前对象上触发的方法。

还有鼠标移动到下拉框之后就消失的话,你还是需要增加一个方法。一样是onmouseover方式,鼠标悬浮的时候DOM不隐藏。

追问

已经改成onmouseover了,第一种不知道怎么理解,能贴下代码我吗?

追答

哎~我上面那个hover()事件不是很好的么。
你改成onmouseover之后还有什么问题吗?

追问

改成onmouseover之后一样的。图片就是最终效果,我鼠标移到其它地方,这个下拉也显示着。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网