鼠标输入/离开&鼠标悬停/移出问题
mouseenter/leave & mouseover/out problems
脚本:
$( ".title").mouseenter(function() {
var which = $(this).index();
$('.globalnav li').find('.dropdown').hide().eq(which).show();
}).mouseleave(function() {
var which = $(this).index();
$('.globalnav li').find('.dropdown').hide().eq(which).hide();
});
导航:
<ul class="globalnav">
<li>
<div class="title"><a href="#" target="_self">Home</a></div>
<div class="dropdown">
<div class="navlinks">
<div class="linkstitle">Title</div>
<div class="navlink"><a href="#" target="_self">Link1</a></div>
<div class="navlink"><a href="#" target="_self">Link1</a></div>
</div>
</div>
</li>
...
上面的代码是我现在使用的,它在Chrome中无法正常工作*我需要按住鼠标来查看div。我使用鼠标悬停,它在IE和FF中无法正常运行。
由于编码格式本身的性质(客户端给定的代码),我也很难显示标题的关联div(在标题悬停时,显示特定的div)。现在,当鼠标悬停在一个标题上时,它显示了李的第一个"导航链接"内容。
这里有一把小提琴给你看
感谢
为什么要使用.title
元素的索引,如果其他LI看起来是这样,那么which
变量将始终是0
,而这不是针对正确.dropdown
的方法?
试试类似的东西
$( ".title").on('mouseenter mouseleave', function(e) {
var dropdown = $(this).closest('li').find('.dropdown').toggle(e.type=='mouseenter');
$('.dropdown').not(dropdown).hide();
});
如果你想让下拉列表在悬停时可见,可以把它放在触发mouseleave 的元素内
<li>
<div class="title">
<a href="#" target="_self">Home</a>
<div class="dropdown">
<div class="navlinks">
<div class="linkstitle">Title</div>
<div class="navlink"><a href="#" target="_self">Link1</a></div>
<div class="navlink"><a href="#" target="_self">Link1</a></div>
</div>
</div>
</div>
</li>
FIDDLE
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在鼠标悬停时展开列表
- jQuery悬停在没有鼠标悬停的情况下启动
- 鼠标悬停时如何居中放大背景图像
- 使用鼠标悬停JavaScript/HTML显示文本
- 如何在MVC3中显示鼠标悬停在文本上的部分视图
- d3.js鼠标悬停鼠标输出问题
- 如何在鼠标悬停时将对象从起始位置移动到结束位置,然后在鼠标悬停后再次移动
- 鼠标悬停时播放随机轨迹
- 鼠标悬停时的css转换
- 将鼠标悬停在同级元素上的 jquery 上轻拂
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- aspx中鼠标悬停时横向扩展DIV
- ajax鼠标悬停和鼠标悬停脚本
- 在鼠标悬停处隐藏图像
- 如何停止地图移动时,鼠标悬停在标记在谷歌地图API 3
- 通过鼠标悬停向上或向下滑动的图片
- 鼠标悬停时更改按钮的 CSS