手机移动端下拉框

本文详细介绍了一种手机移动端下拉框的实现方法,包括使用HTML、CSS和jQuery进行页面布局和交互设计,通过添加base.css样式、引入jQuery库和font-awesome图标库,实现了下拉框的展开、收起及选项选择功能。
摘要由CSDN通过智能技术生成

手机移动端下拉框

  • 效果
    -打开
    在这里插入图片描述

  • 点击

在这里插入图片描述

  • 选中

在这里插入图片描述

  1. 添加base.css样式
  2. 添加jquery.min.js
  3. 添加font-awesome-4.7.0文件夹,用于改变下拉框后面的图标为箭头
  4. 写前台页面
    5.index.html页面
    `
<section class="job-module">
	<dl class="retrie">
		<dt>
			<a class="Typeshow" id="xm" href="javascript:;"><span>项目类型</span> <i class="fa fa-caret-down"></i> </a>
			<a class="Typeshow" id="jy" href="javascript:;"><span>交易结果</span> <i class="fa fa-caret-down"></i> </a>
			<a class="Typeshow" id="dq" href="javascript:;"><span>地区</span> <i class="fa fa-caret-down"></i> </a>
		</dt>
		<dd class="xm">
			<ul class="slide downlist">
				<li data-id="64" data-name="项目类型" onclick="UpDataList(this)"><a href="#">项目类型</a></li>
				<li data-id="88" data-name="政府采购" onclick="UpDataList(this)"><a href="#">政府采购</a></li>
				<li data-id="81" data-name="土地矿业" onclick="UpDataList(this)"><a href="#">土地矿业</a></li>
			</ul>
		</dd>
		<dd class="jy">
			<ul class="slide downlist">
				<li data-id="555" data-name="交易结果" onclick="UpDataList(this)"><a href="#">交易结果</a></li>
				<li data-id="111" data-name="补充公告" onclick="UpDataList(this)"><a href="#">补充公告</a></li>
				<li data-id="222" data-name="其他公告" onclick="UpDataList(this)"><a href="#">其他公告</a></li>
			</ul>
		</dd>
		<dd class="dq">
			<ul class="slide downlist">
				<li data-id="71" data-name="地区" onclick="UpDataList(this)"><a href="#">地区</a></li>
				<li data-id="88" data-name="甘肃" onclick="UpDataList(this)"><a href="#">甘肃</a></li>
				<li data-id="66" data-name="金昌" onclick="UpDataList(this)"><a href="#">金昌</a></li>
				<li data-id="66" data-name="成都1" onclick="UpDataList(this)"><a href="#">成都1</a></li>
				<li data-id="66" data-name="成都2" onclick="UpDataList(this)"><a href="#">成都2</a></li>
				<li data-id="66" data-name="成都3" onclick="UpDataList(this)"><a href="#">成都3</a></li>
				<li data-id="66" data-name="成都4" onclick="UpDataList(this)"><a href="#">成都4</a></li>
				<li data-id="66" data-name="成都5" onclick="UpDataList(this)"><a href="#">成都5</a></li>
				<li data-id="66" data-name="成都6" onclick="UpDataList(this)"><a href="#">成都6</a></li>
				<li data-id="66" data-name="成都7" onclick="UpDataList(this)"><a href="#">成都7</a></li>
				<li data-id="66" data-name="成都8" onclick="UpDataList(this)"><a href="#">成都8</a></li>
				<li data-id="66" data-name="成都9" onclick="UpDataList(this)"><a href="#">成都9</a></li>
				<li data-id="66" data-name="成都0" onclick="UpDataList(this)"><a href="#">成都0</a></li>
				<li data-id="66" data-name="成都65" onclick="UpDataList(this)"><a href="#">成都65</a></li>
				<li data-id="66" data-name="成都11" onclick="UpDataList(this)"><a href="#">成都11</a></li>
				
			</ul>
		</dd>
	</dl>
</section>







<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
	$(function () {

		$('.Typeshow').click(function () {
			var $t = $(this);
			if ($t.find("i").hasClass('fa-caret-up')) {
				$('.downlist').hide();
				$t.find("i").removeClass("fa-caret-up").addClass('fa-caret-down');

			} else {
				$(".Typeshow").removeClass('up');
				$('.downlist').hide();
				$t.addClass('up');
				$('.downlist').eq($(".Typeshow").index($(this)[0])).show();
				$(".fa").removeClass("fa-caret-up").addClass('fa-caret-down')
				$t.find("i").removeClass("fa-caret-down").addClass('fa-caret-up');

				//清除下拉选项中所有的选中class并重新添加
				$(".xm ul li a").removeClass('selected');
				$(".jy ul li a").removeClass('selected');
				$(".dq ul li a").removeClass('selected');
				$(".xm ul li a:contains('"+$('#xm span').text()+"')").addClass('selected');
				$(".jy ul li a:contains('"+$('#jy span').text()+"')").addClass('selected');
				$(".dq ul li a:contains('"+$('#dq span').text()+"')").addClass('selected');

				//下拉个数多的情况
				var Listlength=$(".downlist");
				for (let i = 0; i < Listlength.length; i++) {
					if ($(Listlength[i]).children().length>8) {
						$(Listlength[i]).css("height","460px")
					}
					
				}
			}
		});

	});


	function UpDataList(thisVal) {
		UpClassCss(thisVal);
		//获取当前元素本身this
		var $t = $(thisVal);
		//获取自定义id和name的值
		var id = $t.attr("data-id");
		var name = $t.attr("data-name");
		//alert(id+"|"+name);

	}

	function UpClassCss(thisVal) {
		var $t = $(thisVal);
		var name = $t.attr("data-name");
		//所有的下拉隐藏
		$('.downlist').hide();
		//获取上级元素的class
		var tabId = $t.parent().parent().attr("class");
		//下拉框文字改变
		$("#" + tabId + " span").text(name);
		$(".fa").removeClass("fa-caret-up").addClass('fa-caret-down')
	}

</script>
`
  1. 完整代码
    链接:https://pan.baidu.com/s/1BSb5FSzZzV4aS0XZ8ok_Pg
    提取码:x40l
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值