js点击式下拉菜单与悬浮式下拉菜单

点击出现下拉菜单
HTML部分

<div id="clickOpen">
			点击展开
</div>
<br />
<ul class="list">
	<li class="item">收藏的商品</li>
	<li class="item">收藏的店铺</li>
</ul>

css部分

#clickOpen {
			display: inline;
			padding: 5px 20px;
			background-color: aquamarine;
			cursor: pointer;
		}		
.list {
		display: inline-block;
		list-style: none;
		background-color: coral;
		padding: 0 12px;
		margin-top: 5px;
		display: none;
	}

js部分

var clickBtn=document.getElementById('clickOpen');
var list=document.getElementByClassName('list');
var isOpen=false;

clickBtn.addEventListener('click',function(){
isOpen=!isOpen;
if(isOPen){
   clickBtn.innerHTML='点击隐藏';
   clickBtn.style.display='inline-block';
else{
   clickBtn.innerHTML='点击展开';
   clickBtn.style.display='none';
   }
}
})

鼠标悬浮出现下拉菜单
HTML部分

<ul class="nav">
	<li id="li1">
		<a href="#">UI设计</a>
		<ul id="ul1">
			<li>界面设计</li>
			<li>界面设计</li>
			<li>界面设计</li>
		</ul>
	</li>
	<li id="li2" style="margin-right: 0;">
		<a href="#">WEB前端</a>
		<ul id="ul2">
			<li>HTML5</li>
			<li>HTML5</li>
			<li>HTML5</li>
		</ul>
	</li>
</ul>

css部分

*{
    margin: 0 auto;
    padding: 0;
	list-style: none;
}
.nav{
	width: 210px;
	height: 40px;
	background-color: skyblue;
	margin: 100px auto;
	line-height: 40px;
	text-align: center;
	}
a{
	color: white;
	text-decoration: none;
	}
.nav li{
	width: 100px;
	height: 40px;
	background-color: skyblue;
	color: white;
	font-size: 12px;
	}
.nav>li{
	float: left;
	margin-right: 10px;
	position: relative;			
	}
.nav>li:last-child{
	margin-right: 0;
	}
.nav li ul{
	position: absolute;
	left: 0;
	top: 40px;
	display: none;
	}
/*若要加上缓缓展开,缓缓隐藏的效果则把上面的.nav ul li注释掉,改为以下,同时js部分中display属性改为height=120px与0即可*/
.nav li ul{
	position: absolute;
	left: 0;
	top: 40px;
	height: 0;
	overflow: hidden;
	transition: height 0.3s;
	}

js部分

<script>			
//获取需要用到的标签
//如果遇到大量重复的代码时,可以通过封装函数来节省代码
//在自定义函数中,有不断发生变化的数据,就可以定义为参数
			function nav(liID,ulID){
				var oLi=document.getElementById(liID);
			var oUl=document.getElementById(ulID);
			
			oLi.onmouseover=function(){
				oUl.style.display='block';
			}
			oLi.onmouseout=function(){
				oUl.style.display='none';
			}
			}
			nav('li1','ul1');
			nav('li2','ul2');			
</script>
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
下拉菜单和弹出菜单都是常用的用户界面交互方,下面是它们的实现方法: 1. 下拉菜单 下拉菜单通常在菜单栏或工具栏中使用,用户点击下拉菜单后,会弹出一个菜单列表,用户可以选择一个选项,或者取消菜单操作。下面是实现下拉菜单的步骤: (1)在菜单栏或工具栏中添加一个下拉菜单按钮,用户点击该按钮后,弹出下拉菜单列表。 (2)创建下拉菜单列表,通过添加菜单实现菜单项可以添加图标、文本等内容。 (3)为下拉菜单按钮添加事件监听器,当用户点击按钮时,显示下拉菜单列表。 (4)为下拉菜单列表中的菜单项添加事件监听器,当用户点击某个菜单项时,执行相应的操作。 2. 弹出菜单 弹出菜单通常在用户右键单击某个组件时使用,用户右键单击后,会弹出一个菜单列表,用户可以选择一个选项,或者取消菜单操作。下面是实现弹出菜单的步骤: (1)为组件添加事件监听器,当用户右键单击时,弹出弹出菜单列表。 (2)创建弹出菜单列表,通过添加菜单实现菜单项可以添加图标、文本等内容。 (3)为弹出菜单列表中的菜单项添加事件监听器,当用户点击某个菜单项时,执行相应的操作。 Java中可以使用Swing或JavaFX框架实现下拉菜单和弹出菜单。具体实现步骤可以参考官方文档或者相关教程。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值