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 相关文章推荐
JavaScript实现动态增加文件域表单
Feb 12 Javascript
通过隐藏option实现select的联动效果
Nov 10 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
JavaScript检测原始值、引用值、属性
Jun 20 Javascript
JavaScript简单获取页面图片原始尺寸的方法
Jun 21 Javascript
原生Javascript和jQuery做轮播图简单例子
Oct 11 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
Javascript实现找不同色块的游戏
Jul 17 Javascript
详解基于vue-router的动态权限控制实现方案
Sep 28 Javascript
vue-router重定向不刷新问题的解决
Jun 25 Javascript
基于JS实现table导出Excel并保留样式
May 19 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
php2html php生成静态页函数
2008/12/08 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
Python 深入理解yield
2008/09/06 Python
python的re正则表达式实例代码
2018/01/24 Python
对numpy中轴与维度的理解
2018/04/18 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
详解Python3 基本数据类型
2019/04/19 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
Python urllib2运行过程原理解析
2020/06/04 Python
Python中zip函数如何使用
2020/06/04 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
什么是封装
2013/03/26 面试题
思想政治自我鉴定
2013/10/06 职场文书
幼儿教师研修感言
2014/02/12 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
工地食品安全责任书
2015/05/09 职场文书
公开致歉信
2019/06/24 职场文书
Python作用域和名称空间的详细介绍
2022/04/13 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android