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 removeChild 使用注意事项
Apr 11 Javascript
Extjs学习笔记之六 面版
Jan 08 Javascript
有关DOM元素与事件的3个谜题
Nov 11 Javascript
jquery放大镜效果超漂亮噢
Nov 15 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
Oct 29 Javascript
使用Node.js为其他程序编写扩展的基本方法
Jun 23 Javascript
JS+CSS实现简易实用的滑动门菜单效果
Sep 18 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
Angularjs 实现一个幻灯片示例代码
Sep 08 Javascript
JavaScript仿聊天室聊天记录
Dec 27 Javascript
原生js滑动轮播封装
Jul 31 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
星际争霸兵种名称对照表
2020/03/04 星际争霸
PHP 模板高级篇总结
2006/12/21 PHP
php之XML转数组函数的详解
2013/06/07 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
PHP响应post请求上传文件的方法
2015/12/17 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
微信小程序倒计时功能实例代码
2018/07/17 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
跟老齐学Python之Import 模块
2014/10/13 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
迎新晚会策划方案
2014/06/13 职场文书
继续教育个人总结
2015/03/03 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python