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 相关文章推荐
JQuery 学习笔记 选择器之五
Jul 23 Javascript
无缝滚动js代码通俗易懂(自写)
Jun 19 Javascript
JS中for循序中延迟加载动态效果的具体实现
Aug 18 Javascript
浅谈jquery上下滑动的注意事项
Oct 13 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
Nov 21 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
vue 请求后台数据的实例代码
Jun 22 Javascript
JS实现数组去重方法总结(六种方法)
Jul 14 Javascript
使用JS代码实现俄罗斯方块游戏
Aug 03 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
Sep 06 Javascript
Vue使用自定义指令实现拖拽行为实例分析
Jun 06 Javascript
react合成事件与原生事件的相关理解
May 13 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
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php制作简单模版引擎
2016/04/07 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
js实现圆盘记速表
2015/08/03 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
jQuery使用each遍历循环的方法
2018/09/19 jQuery
Node 代理访问的实现
2019/09/19 Javascript
js实现小时钟效果
2020/03/25 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
abstract class和interface有什么区别?
2012/01/03 面试题
优秀毕业生推荐信
2013/11/02 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
千与千寻观后感
2015/06/04 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫