原生JS之淘宝下拉菜单案例

**

原生JS之淘宝下拉菜单案例

**

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			li{
				list-style: none;
				
			}
			a{
				text-decoration: none;
				font-size: 14px;
			}
			.nav{
				
				margin: 100px;
			}
			.nav>li{
				position: relative;
				float: left;
				width: 90px;
				height: 40px;
				text-align: center;
			}
			.nav li a {
				display: block;
				width: 100%;
				height: 100%;
				line-height: 40px;
				color: #333;
			}
			.nav li a:hover{
				background-color: #eee;
			}
			.nav li ul{
				display: none;
				position: absolute;
				top: 40px;
				left: 0;
				width: 100%;
				border-left: 1px solid #FECC5B;
				border-right: 1px solid #FECC5B;
			}
			.nav ul li {
			    border-bottom: 1px solid #FECC5B;
			}
			.nav ul li a:hover{
				background-color:  #FFF5DA;
			}
		</style>
		
	</head>
	<body>
	<ul class="nav">
		<li>
			<a href="">我的淘宝</a>
			<ul>
				<li><a href="">已买到的宝贝</a></li>
				<li><a href="">已卖出的宝贝</a></li>
			</ul>
		</li>
		<li>
			<a href="">收藏夹</a>
			<ul>
				<li><a href="">收藏的店铺</a></li>
				<li><a href="">收藏的宝贝</a></li>
			</ul>
		</li>
		<li>
			<a href="">商家支持</a>
			<ul>
				<li><a href="">商家入驻</a></li>
				<li><a href="">商家中心</a></li>
				<li><a href="">商家品控</a></li>
			</ul>
		</li>
	</ul>
	<script type="text/javascript">
		var nav = document.querySelector('.nav');			//获取导航栏元素
		var lis = nav.children;								//获取导航栏中小li元素
		for(var i = 0; i < lis.length; i++){				//遍历每个li
			lis[i].onmouseover = function(){				//给每个li绑定鼠标经过事件
				this.children[1].style.display = 'block'	//经过li时让里面的第二个孩子ul显示
			}
			lis[i].onmouseout = function(){					//给每个li绑定鼠标离开事件
				this.children[1].style.display = 'none	'	//离开li时让里面的第二个孩子ul隐藏
			}
		}
	</script>
	</body>
</html>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的小程序原生下拉菜单实现示例: ```html <view class="select-box" bindtap="showSelect"> <view class="select-value">{{selectedValue}}</view> <view class="select-arrow"></view> </view> <view class="select-items" hidden="{{!showSelectItems}}"> <view class="select-item" wx:for="{{options}}" wx:key="{{index}}" bindtap="selectItem">{{item}}</view> </view> ``` ```css .select-box { display: flex; align-items: center; justify-content: space-between; padding: 10px; border: 1px solid #ccc; border-radius: 5px; } .select-value { font-size: 16px; } .select-arrow { width: 0; height: 0; border-style: solid; border-width: 5px 5px 0 5px; border-color: #999 transparent transparent transparent; } .select-items { position: absolute; top: 45px; left: 0; right: 0; border: 1px solid #ccc; border-radius: 5px; background-color: #fff; z-index: 999; } .select-item { padding: 10px; font-size: 16px; color: #333; text-align: center; border-top: 1px solid #ccc; } .select-item:first-child { border-top: none; } ``` ```js Page({ data: { options: ['选项一', '选项二', '选项三'], selectedValue: '', showSelectItems: false }, showSelect: function () { this.setData({ showSelectItems: !this.data.showSelectItems }); }, selectItem: function (e) { this.setData({ selectedValue: e.currentTarget.dataset.value, showSelectItems: false }); } }) ``` 这个示例中,我们通过一个 `select-box` 容器来展示当前选中的值和下拉箭头图标,点击该容器时会触发 `showSelect` 函数来显示或隐藏下拉菜单下拉菜单的选项通过 `options` 数组来定义,每个选项都会被渲染成一个 `select-item` 元素,在点击其中的一个选项时会触发 `selectItem` 函数来更新当前选中的值并隐藏下拉菜单CSS 样式中使用了一些基本的布局和样式,可以根据实际需要行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值