select下拉带图片-模拟下拉

<style>
	/*下拉列表*/
	ul,dl,ol,li {list-style: none;}			
	.dropdown {
		float: right;
		position: relative;
		font-size: 12px;
		margin-right:16px;
	}			
	.dropdownbox01 {
		width: 250px;
		height: 34px;
		color: #707070;
		line-height: 34px;
		border-radius: 4px;
	    font-size: 16px;
		border: 1px solid #dcdcdc;
		cursor: pointer;
		appearance: none;
		-moz-appearance: none;
		-webkit-appearance: none;
		background: url(images/content_select.png) no-repeat scroll 100px center transparent;
	}
	.dropdownbox01 span{
		margin-left:10px;
		width:212px !important;
	}
	.dropdownbox01 .tac{
		text-align: left !important;
	}
	
	#dropDownList1 .dropdownbox01 {
		width: 120px;
		background-position: 96px center;
	}
	
	#dropDownList1 .dropdownbox02 li {
		width: 250px;
	}			
	.dropdownbox02 {
		width:250px;
		display: none;
		position: absolute;
		left: 0px;
		top: 32px;
		z-index: 1;
		background:#fff;
		border: 1px solid #dcdcdc;
		-webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, 0.4);
		-moz-box-shadow: 0 5px 6px rgba(0, 0, 0, 0.4);
		box-shadow: 0 5px 6px rgba(0, 0, 0, 0.4);
		max-height: 160px;
		overflow-y: auto;
		overflow-x: hidden;
	}
	.dropdownbox02 span{
		width:212px !important;
	}			
	.dropdownbox02 img {
		display: inline-block;
		margin-right: 6px;
		float: left;
	}			
	.dropdownbox01 img {
		display: inline-block;
		margin-right: 6px;
		float: left; 
	}			
	.dropdownbox02 li {
		width: 250px;
		height: 34px;
		line-height: 32px;
		background: #fff;
		color: #707070;
		cursor: pointer;
		margin:10px auto !important;
	}			
	.dropdownbox02 li .img02 {
		display: none;
	}			
	/*.dropdownbox02 li:hover {
		background: #48a0ff;
		color: #fff;
	}*/
</style>

  

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head> 
	<body> 				
		<form action="#" method="get"> 
			<div id="dropDownList2" class="dropdown"> 
				<div class="dropdownbox01"> 
					<span><img src="bank_logo/PSBC.gif" alt="" />中国邮政银行</span> 
				</div> 
				<div class="dropdownbox02"> 
					<ul> 
						<li> 
							<span><img data-tag="PSBC" src="bank_logo/PSBC.gif" alt="" />邮政银行</span> 
						</li> 
						<li >
							<span><img data-tag="ABC" src="bank_logo/ABC.gif" alt="" />农业银行</span>
						</li> 
						<li> 
							<span><img data-tag="BOC" src="bank_logo/BOC.gif" alt="" />中国银行</span> 
						</li> 
						<li> 
							<span><img data-tag="CCB" src="bank_logo/CCB.gif" alt="" />建设银行</span> 
						</li> 
						<li> 
							<span><img data-tag="ICBC" src="bank_logo/ICBC.gif" alt="" />工商银行</span> 
						</li> 
						<li> 
							<span><img data-tag="CMB" src="bank_logo/CMB.gif" alt="" />招商银行</span> 
						</li> 
						<li> 
							<span><img data-tag="CITIC" src="bank_logo/CITIC.gif" alt="" />中信银行</span> 
						</li> 
						<li> 
							<span><img data-tag="CMBC" src="bank_logo/CMBC.gif" alt="" />民生银行</span> 
						</li> 
						<li> 
							<span><img data-tag="GDB" src="bank_logo/GDB.gif" alt="" />广发银行</span> 
						</li> 
						<li> 
							<span><img data-tag="CIB" src="bank_logo/CIB.gif" alt="" />兴业银行</span> 
						</li> 
						<li> 
							<span><img data-tag="CEB" src="bank_logo/CEB.gif" alt="" />光大银行</span> 
						</li> 
						<li> <span><img data-tag="GDB" src="bank_logo/GDB.gif" alt="" />广发银行</span> 
						</li> 
						<li> 
							<span><img data-tag="SPDB" src="bank_logo/SPDB.gif" alt="" />浦发银行</span> 
						</li> 
						<li> 
							<span><img data-tag="SZPAB" src="bank_logo/SZPAB.gif" alt="" />平安银行</span> 
						</li> 
					</ul> 
				</div> 
			</div> 
		</form>  
	</body> 
</html>

  

<script src="jquery-3.1.0.min.js"></script> 
<script> 
	$(function() { 
		//下拉列表 
		$(".dropdownbox02 li").mouseenter(function() { 
			$(this).children(".img01").hide(); 
			$(this).children(".img02").show(); 
		}).mouseleave(function() { 
			$(this).children(".img01").show(); 
			$(this).children(".img02").hide(); 
		}); 
		$(".dropdown .dropdownbox01").click(function() { 
			$(".dropdown .dropdownbox02").hide(); 
			$(this).siblings(".dropdownbox02").show(); 
			$(this).parent(".dropdown").siblings(".dropdown").children(".dropdownbox02").hide(); 
		}); 
		//点击处下拉框以外地区隐藏下拉框 
		function stopPropagation(e) { 
			if (e.stopPropagation) e.stopPropagation(); 
			else e.cancelBubble = true; 
		} 
		$(document).bind('click', function() { 
			$(".dropdown .dropdownbox02").hide(); 
		});
		$(".dropdown").bind('click', function(e) { 
			stopPropagation(e); 
		}); 
		//点击列表子项事件 
		$(".dropdown .dropdownbox02 li").click(function() { 
			$(this).parents(".dropdownbox02").hide(); 
			$(this).parents(".dropdownbox02").siblings(".dropdownbox01").children("span").html($(this).children("span").html()); var imgsrc = $(this).children(".img01").attr("src"); 
			$(this).parents(".dropdownbox02").siblings(".dropdownbox01").children("img").attr("src", imgsrc); 
		}); 
	}) 
</script> 

  

转载于:https://www.cnblogs.com/kymming/p/6405594.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里给出一个简单的实现,使用了jQuery和CSS来模拟下拉菜单效果。 HTML代码: ``` <div class="custom-select"> <select> <option value="">请选择</option> <option value="1">选项一</option> <option value="2">选项二</option> <option value="3">选项三</option> </select> </div> ``` CSS代码: ``` .custom-select { position: relative; display: inline-block; font-size: 16px; font-weight: 500; line-height: 1.5; color: #333; } .custom-select select { display: none; } .custom-select::after { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); content: "\f107"; font-family: "FontAwesome"; font-size: 14px; color: #999; pointer-events: none; } .custom-select.open::after { content: "\f106"; color: #666; } .custom-select-dropdown { position: absolute; top: 100%; left: 0; right: 0; z-index: 1000; display: none; max-height: 240px; overflow-y: auto; background-color: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); } .custom-select.open .custom-select-dropdown { display: block; } .custom-select-dropdown-option { padding: 8px 12px; font-size: 14px; line-height: 1.5; color: #333; cursor: pointer; } .custom-select-dropdown-option:hover { background-color: #f5f5f5; } ``` JavaScript代码: ``` $(document).on("click", function(e) { var $target = $(e.target); if ($target.closest(".custom-select").length) { $target.closest(".custom-select").toggleClass("open"); } else { $(".custom-select").removeClass("open"); } }); $(".custom-select select").on("change", function() { var text = $(this).find("option:selected").text(); $(this).closest(".custom-select").find(".custom-select-text").text(text); }); $(".custom-select select").each(function() { var $this = $(this), numberOfOptions = $(this).children("option").length; $this.addClass("s-hidden"); $this.wrap('<div class="custom-select"></div>'); $this.after('<div class="custom-select-text">' + $this.children("option").eq(0).text() + '</div>'); var $dropdown = $('<div class="custom-select-dropdown"></div>'); for (var i = 0; i < numberOfOptions; i++) { $dropdown.append('<div class="custom-select-dropdown-option">' + $this.children("option").eq(i).text() + '</div>'); } $this.after($dropdown); }); ``` 这段代码的实现原理是: 1. 隐藏原生的下拉菜单,并在其外部包裹一个自定义的容器。 2. 在容器中添加一个显示当前选项的文本框,以及一个下拉菜单容器。 3. 遍历所有选项,把它们添加到下拉菜单容器中。 4. 绑定点击事件,让点击自定义下拉菜单的容器时,切换下拉菜单的显示状态。 5. 绑定下拉菜单选项的点击事件,让其选中对应的选项,并更新文本框的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值