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 相关文章推荐
js常用排序实现代码
Dec 28 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
Apr 06 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
Javascript 函数parseInt()转换时出现bug问题
May 20 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
关于在Servelet中如何获取当前时间的操作方法
Jun 28 Javascript
jquery实现垂直和水平菜单导航栏
Aug 27 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 Javascript
Vue全局loading及错误提示的思路与实现
Aug 09 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
组合算法的PHP解答方法
2012/02/04 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
js 函数的副作用分析
2011/08/23 Javascript
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
puppeteer库入门初探
2019/01/09 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
python删除列表中重复记录的方法
2015/04/28 Python
Python如何为图片添加水印
2016/11/25 Python
python实现代码统计程序
2019/09/19 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
python创建文本文件的简单方法
2020/08/30 Python
python 写一个水果忍者游戏
2021/01/13 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
母亲追悼会答谢词
2014/01/27 职场文书
万年牢教学反思
2014/02/15 职场文书
承诺书样本
2014/08/30 职场文书
自荐信格式模板
2015/03/27 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL