下拉列表在用户可以将鼠标指针移动到它之前消失
DropDown list disappearing before user can the move mouse pointer to it
我有一个菜单,其中包含列表项"主页"和"主页"2。当我将鼠标悬停在"主页"/"主页 2"上时,该项目的下拉列表按预期出现。但是,当我将鼠标向下移动到下拉列表时,列表会立即消失,并且我无法访问下拉菜单。
我希望下拉列表可见,同时将鼠标向下移动到下拉列表,最好使用 jQuery。但是,我无法让它工作。
设计的 HTML 布局是:
<ul class="mega"> <li class="grid">Home <ul> <li>DD Item 1</li> <li>DD Item 2</li> <li>DD Item 3</li> </ul> </li> <li class="grid">Home2 <div class="dropDownClass""> <ul> <li>DD Item 4</li> <li>DD Item 5</li> <li>DD Item 6</li> </ul> </div> </li> </ul>
任何帮助将不胜感激。
谢谢
我会做这样的事情。
.HTML:
<ul class="mega">
<li class="grid">Home
<ul>
<li>DD Item 1</li>
<li>DD Item 2</li>
<li>DD Item 3</li>
</ul>
</li>
<li class="grid">Home2
<ul>
<li>DD Item 4</li>
<li>DD Item 5</li>
<li>DD Item 6</li>
</ul>
</li>
.CSS:
ul{
list-style-type: none;
}
.mega{
width: 200px;
}
.grid{
padding: 10px 15px;
background-color:gray;
color: white;
border: 1px solid black;
}
.grid ul{
display: none;
}
.grid:hover > ul{
display: inline;
}
看看这个小提琴,看看它的实际效果。
你需要将CSS设置为类似于这样:
ul{list-style: none; padding: 3px; margin:0}
li ul{display:none;}
li.grid:hover ul{display:block}
这将隐藏第二个 ul,直到 li 悬停。
在document.ready
函数中添加以下内容:
$('.grid1 ul').hide();
$('.grid2 ul').hide();
$('.grid1').on('mouseover', function() {
$('.grid1 ul').show();
$('.grid1').on('mouseout', function() {
$('.grid1 ul').hide();
});
});
$('.grid2').on('mouseover', function() {
$('.grid2 ul').show();
$('.grid2').on('mouseout', function() {
$('.grid2 ul').hide();
});
});
并将两个<li>
元素的类属性的值从两个grid
更改为其中一个grid1
,另一个grid2
。
相关文章:
- 当移动地址栏出现/消失时,防止更改窗口高度
- 如何确保 php 变量在移动到 java 页面时不会消失
- 当鼠标在图像上突然移动时,如何阻止图像消失
- CSS js 在鼠标移动重绘时不会消失
- Jquery 将 x 移动到 y 并消失
- Jquery移动页面在使用css显示图像后消失
- 移动页脚,当您到达终点时消失
- 当在移动设备/平板电脑上单击某个项目时,使菜单消失
- 当添加ASP代码时,导航在移动中消失,其他脚本在页面上冻结
- 下拉列表在用户可以将鼠标指针移动到它之前消失
- 菜单文本在从移动设备调整到桌面后消失
- 为什么每次精灵移动时我的地图都会消失
- 其中'azure移动服务中的CORS设置已经消失了
- html5画布背景图像在鼠标移动时消失
- 是否有一个Bootstrap类的东西只在移动设备上消失
- JQuery移动列表视图元素消失
- 移动菜单在滚动时消失
- 元标签视窗使整个页面在移动设备上消失
- CSS在移动设备上消失
- 移动导航在滚动时消失