js自定义select下拉框美化特效


Posted in Javascript onMay 12, 2016

select的默认样式往往很丑,为保证页面样式风格统一,需要对select进行美化。虽然其美化的插件很多,一搜一大把,但是需要引入长长的css文件和js文件实在是件头痛的事。其实select的实现原理很简单,就是一个点击 切换 显示和隐藏 并传值 的过程。用jquery模拟了,样式想怎么写就怎么写,且不限数量。

朴素的效果:

js自定义select下拉框美化特效

html:

<div class="select_box">

  <font>›</font>

  <span>选项1</span>

 <ul>

  <li>选项1</li>

  <li>选项2</li>

  <li>选项3</li>    

 </ul>

 </div> 

 

 <div class="select_box">

  <font>›</font>

  <span>选项一</span>

 <ul>

  <li>选项一</li>

  <li>选项二</li>

  <li>选项三</li>    

 </ul>

 </div>

css:

ul{ margin:0; padding:0; list-style:none;}

.select_box{ width:200px; height:36px; border:1px solid #3CF; position:relative; float:left; margin-right:50px;}

.select_box span{ display:inline-block; width:200px; height:36px; line-height:36px; cursor:pointer; text-indent:10px;}

.select_box .span_aa{ color:#C36;}

.select_box ul{ width:200px; position:absolute; top:36px; left:-1px; border:1px solid #3CF; display:none; background:#fff;}

.select_box li{ cursor:pointer; line-height:36px; text-indent:10px;}

.select_box li:hover{ background:#39F; color:#fff;}

.select_box font{ position:absolute; right:10px; font-size:26px; font-family:"微软雅黑"; color:#3CF; transform:rotate(90deg);}

js:

$(function(){

  var s_title=$(".select_box span");

  var s_select=$(".select_box li");

 

  s_title.click(function(e){

   $(this).addClass("span_aa");

   $(this).next("ul").show();

   e.stopPropagation();

   });  

   

  s_select.click(function(){

   var s_text=$(this).html();

   var s_title_2=$(this).parent('ul').prev("span");

   s_title_2.html(s_text).removeClass("span_aa");

   $(this).parent('ul').hide();  

   });

   

  $(document).click(function(){

   s_title.removeClass("span_aa");

   $(".select_box ul").hide();  

   }); 

  

});

源码下载:js select下拉框美化下载

如果大家还想深入学习,可以点击jquery下拉框效果汇总、JavaScript下拉框效果汇总进行学习。

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
不错的新闻标题颜色效果
Dec 10 Javascript
JavaScript面向对象(极简主义法minimalist approach)
Jul 17 Javascript
什么是json和jsonp,jQuery json实例详详细说明
Dec 11 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 Javascript
详解Node.js模块间共享数据库连接的方法
May 24 Javascript
vue v-model表单控件绑定详解
May 17 Javascript
微信小程序wx:for和wx:for-item的用法详解
Apr 01 Javascript
微信小程序日历组件使用方法详解
Dec 29 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
May 24 Javascript
jQuery中event.target和this的区别详解
Aug 13 jQuery
ajax请求前端跨域问题原因及解决方案
Oct 16 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
May 12 #Javascript
JS函数的定义与调用方法推荐
May 12 #Javascript
使用jQuery实现Web页面换肤功能的要点解析
May 12 #Javascript
JS定义类的六种方式详解
May 12 #Javascript
值得分享和收藏的Bootstrap学习教程
May 12 #Javascript
jQuery中$.each()函数的用法引申实例
May 12 #Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 #Javascript
You might like
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
深入了解Python数据类型之列表
2016/06/24 Python
Python编写一个优美的下载器
2018/04/15 Python
python更改已存在excel文件的方法
2018/05/03 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
Python hashlib模块的使用示例
2020/10/09 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
如何设置Java的运行环境
2013/04/05 面试题
接受捐赠答谢词
2014/01/27 职场文书
大学生毕业求职自荐书范文
2014/02/04 职场文书
工程材料采购方案
2014/05/18 职场文书
小学校本培训方案
2014/06/06 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
酒会开场白大全
2015/06/01 职场文书
六一活动主持词
2015/06/30 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python