首页 > 其他分享 >jQuery实现下拉选项框

jQuery实现下拉选项框

时间:2022-11-07 18:02:48浏览次数:43  
标签:jQuery 选项 实现 transform height content width 0px select


html文件:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
*{padding: 0px; margin: 0px;}
.content{
width: 100%;
height: 500px;
/* background: #F27729; */
}
.content .select{
width: 300px;
height: 40px;
background: #FFFFFF;
margin: 0px auto;
position: relative;
cursor: pointer;
border: #666666 solid 1px;
}
.content .select::after{
content: "";
display: block;
width: 10px;
height: 10px;
border-left: 1px solid #666;
border-bottom: 1px solid #666;
top: 12px;
right: 12px;
position: absolute;
transform: rotate(-46deg);
transition: all .3s ease-in;
}
.content .select p{
width: 300px;
line-height: 40px;
font-size: 16px;
font-family: "microsoft yahei";
color: #666666;
padding: 0px 15px;
}
.content .select ul{
width: 300px;
display: block;
font-size: 16px;
background: #FFFFFF;
position: absolute;
top: 40px;
left: 0px;
max-height: 0px;
overflow: hidden;
transition: max-height .3s ease-in;
border: #666666 solid 1px;
}
.content .select ul li{
width: 100%;
height: 30px;
line-height: 30px;
padding: 0px 15px;
list-style: none;
color: #666666;
}
.content .select ul li.Selected{
background: yellowgreen;
color: #FFFFFF;
}
.content .select ul li:hover{
background: #D0D0D0;
}
@-webkit-keyframes slide-down{
0%{transform: scale(1,0);}
25%{transform: scale(1,1.2);}
50%{transform: scale(1,0.85);}
75%{transform: scale(1,1.05);}
100%{transform: scale(1,1);}
}

.content .select.open ul{
max-height: 250px;
transform-origin: 50% 0;
-webkit-animation: slide-down .5s ease-in;
transition: max-height .2s ease-in;
}
.content .select.open::after{
transform: rotate(134deg);
transition: all .3s ease-in;
top: 18px;

}
</style>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function(){
$(".select p").click(function(e){
$(".select").toggleClass('open');
e.stopPropagation();
});

$(".content .select ul li").click(function(e){
var _this=$(this);
$(".select > p").text(_this.attr('data-value'));
_this.addClass("Selected").siblings().removeClass("Selected");
$(".select").removeClass("open");
e.stopPropagation();
});

$(document).on('click',function(){
$(".select").removeClass("open");
})

});
</script>
</head>
<body>
<div class="content">
<div class="select">
<p data-value="所有选项">所有选项</p>
<ul>
<li data-value="所有选项" class="Selected">所有选项</li>
<li data-value="Html">Html</li>
<li data-value="Html5">Html5</li>
<li data-value="JavaScript">JavaScript</li>
<li data-value="Jquery">Jquery</li>
<li data-value="Java">Java</li>
<li data-value="c#">c#</li>
</ul>
</div>
</div>
</body>
</html>


标签:jQuery,选项,实现,transform,height,content,width,0px,select
From: https://blog.51cto.com/u_15867142/5830349

相关文章

  • jquery(js)实现上滑加载更多内容(分页查询)
    移动端上滑加载更多步骤移动端实现滚动上滑加载更多内容分为以下几步:步骤1禁用系统滚动条使用CSS样式禁用移动端的滚动条,代码如下所示:html,body{width:100%;overflow:hidde......
  • element form 实现思路解析
    简介element表单主要分为三层结构:ElFormElFormItem具体的表单输入组件ElForm组件作为ElFormItem组件的容器,负责统一管理所有的ElFormItem及其事务,包括:ElFo......
  • Canvas实现视频截图的功能
    1、首先获取video元素和创建canvasconstvideo=document.getElementById('video');constcanvas=document.createElement("canvas");constcanvasCtx=canvas.get......
  • 在WPF中用DataGrid实现表格样式
    资源文件定义颜色及样式<SolidColorBrushx:Key="TextColorGeneral"Color="#a2a2a2"/><StyleTargetType="DataGridColumnHeader"><SetterProperty="Horizon......
  • 如何实现大文件上传、断点续传、切片上传
    背景文件上传是个非常普遍的场景,特别是在一些资源管理相关的业务中(比如网盘)。在文件比较大的时候,普通的上传方式可能会遇到以下四个问题。文件上传超时:原因是前端请求......
  • 2流高手速成记(之八):基于Sentinel实现微服务体系下的限流与熔断
    我们接上回上一篇中,我们进行了简要的微服务实现,也体会到了SpringCloudAlibaba的强大和神奇之处我们仅改动了两个注释,其他全篇代码不变,原来的独立服务就被我们分为了provi......
  • 使用插件实现Jenkins参数化构建
     一、插件安装1、打开插件管理,在此界面可以安装插件 二、参数化1、在“可选插件”中查找如下两个插件然后安装,安装后重启JenkinsBuildWithParameters输入框式的参数Per......
  • 【每日一练】26—CSS实现响应式卡片悬停效果
    今天练习的这个小项目,是一个产品卡片式的介绍说明,像我们在一些个人简历产品说明里或者产品说明里会经常使用这样的内容设计,然后再配上合适的图片即可。例如,我们在个人简历上......
  • 【每日一练】28—用Swiper实现的3D滑动效果
    今天我们练习一个用swiper实现的3D轮播图效果,这个效果需要将swiper文件引入到HTML中,然后再结合CSS就实现了以下效果:我把今天练习项目中的素材文件打包了,大家根据需要自行下......
  • 【每日一练】16—响应式电子日历效果的实现
    写在前面今天练习的小项目是一个电子日历,这个日历我个人觉得还是非常实用的,现在,我们一起来看一下最终的效果:HTML代码:<!DOCTYPEhtml><htmllang="zh-CN"><head><metach......