- 浏览: 26107 次
- 性别:
- 来自: 北京
文章分类
最新评论
需要用到一个selectbox.js插件,在这里直接粘贴到代码里了
还要用到一个叫aa.gif的图片,这里没有传图片,到时候随自己需要加一张图片
selectbox.js插件
还要用到一个叫aa.gif的图片,这里没有传图片,到时候随自己需要加一张图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script type="text/javascript" src="selectbox.js"></script> </head> <body> <select style="display: none;" name="mySle" id="mySle"> <option selected="selected" value="0">1</option> <option value="1">2</option> <option value="2">3</option> <option value="3">4纸</option> <option value="4">5</option> </select> </body> </html> <style> *{padding:0px;margin:0px;} .selectbox{ font-size:14px; display:block; width:94px; cursor:pointer; border:1px solid red; background:url(aa.gif); color:#83887e; } div.selectbox-wrapper{ position:absolute; background-color:white; border:1px solid #f00; } div.selectbox-wrapper ul li{ line-height:20px; cursor:pointer; width:94px; color:#555; font-size:14px; } div.selectbox-wrapper ul li.current{ background-color:#457e1a; color:#fff; } </style> <script type="text/javascript"> $(function(){ $('#mySle').selectbox(); }); </script>
selectbox.js插件
/* * jQuery selectbox plugin * * Copyright (c) 2007 Sadri Sahraoui (brainfault.com) * Licensed under the GPL license and MIT: * http://www.opensource.org/licenses/GPL-license.php * http://www.opensource.org/licenses/mit-license.php * * The code is inspired from Autocomplete plugin (http://www.dyve.net/jquery/?autocomplete) * * Revision: $Id$ * Version: 0.5 * * Changelog : * Version 0.5 * - separate css style for current selected element and hover element which solve the highlight issue * Version 0.4 * - Fix width when the select is in a hidden div @Pawel Maziarz * - Add a unique id for generated li to avoid conflict with other selects and empty values @Pawel Maziarz */ jQuery.fn.extend({ selectbox: function(options) { return this.each(function() { new jQuery.SelectBox(this, options); }); } }); /* pawel maziarz: work around for ie logging */ if (!window.console) { var console = { log: function(msg) { } } } /* Download by http://www.codefans.net*/ jQuery.SelectBox = function(selectobj, options) { var opt = options || {}; opt.inputClass = opt.inputClass || "selectbox"; opt.containerClass = opt.containerClass || "selectbox-wrapper"; opt.hoverClass = opt.hoverClass || "current"; opt.currentClass = opt.selectedClass || "selected" opt.debug = opt.debug || false; var elm_id = selectobj.id; var active = -1; var inFocus = false; var hasfocus = 0; //jquery object for select element var $select = $(selectobj); // jquery container object var $container = setupContainer(opt); //jquery input object var $input = setupInput(opt); // hide select and append newly created elements $select.hide().before($input).before($container); init(); $input .click(function(){ if (!inFocus) { $container.toggle(); } }) .focus(function(){ if ($container.not(':visible')) { inFocus = true; $container.show(); } }) .keydown(function(event) { switch(event.keyCode) { case 38: // up event.preventDefault(); moveSelect(-1); break; case 40: // down event.preventDefault(); moveSelect(1); break; //case 9: // tab case 13: // return event.preventDefault(); // seems not working in mac ! $('li.'+opt.hoverClass).trigger('click'); break; case 27: //escape hideMe(); break; } }) .blur(function() { if ($container.is(':visible') && hasfocus > 0 ) { if(opt.debug) console.log('container visible and has focus') } else { hideMe(); } }); function hideMe() { hasfocus = 0; $container.hide(); } function init() { $container.append(getSelectOptions($input.attr('id'))).hide(); var width = $input.css('width'); $container.width(width); } function setupContainer(options) { var container = document.createElement("div"); $container = $(container); $container.attr('id', elm_id+'_container'); $container.addClass(options.containerClass); return $container; } function setupInput(options) { var input = document.createElement("input"); var $input = $(input); $input.attr("id", elm_id+"_input"); $input.attr("type", "text"); $input.addClass(options.inputClass); $input.attr("autocomplete", "off"); $input.attr("readonly", "readonly"); $input.attr("tabIndex", $select.attr("tabindex")); // "I" capital is important for ie return $input; } function moveSelect(step) { var lis = $("li", $container); if (!lis) return; active += step; if (active < 0) { active = 0; } else if (active >= lis.size()) { active = lis.size() - 1; } lis.removeClass(opt.hoverClass); $(lis[active]).addClass(opt.hoverClass); } function setCurrent() { var li = $("li."+opt.currentClass, $container).get(0); var ar = (''+li.id).split('_'); var el = ar[ar.length-1]; $select.val(el); $input.val($(li).html()); return true; } // select value function getCurrentSelected() { return $select.val(); } // input value function getCurrentValue() { return $input.val(); } function getSelectOptions(parentid) { var select_options = new Array(); var ul = document.createElement('ul'); $select.children('option').each(function() { var li = document.createElement('li'); li.setAttribute('id', parentid + '_' + $(this).val()); li.innerHTML = $(this).html(); if ($(this).is(':selected')) { $input.val($(this).html()); $(li).addClass(opt.currentClass); } ul.appendChild(li); $(li) .mouseover(function(event) { hasfocus = 1; if (opt.debug) console.log('over on : '+this.id); jQuery(event.target, $container).addClass(opt.hoverClass); }) .mouseout(function(event) { hasfocus = -1; if (opt.debug) console.log('out on : '+this.id); jQuery(event.target, $container).removeClass(opt.hoverClass); }) .click(function(event) { var fl = $('li.'+opt.hoverClass, $container).get(0); if (opt.debug) console.log('click on :'+this.id); $('li.'+opt.currentClass).removeClass(opt.currentClass); $(this).addClass(opt.currentClass); setCurrent(); hideMe(); }); }); return ul; } };
发表评论
-
获取当前鼠标点击的位置
2015-05-13 14:39 0<img src="images/a.gi ... -
判断checkbox是否选中
2015-05-12 11:22 632$('#checker').click(function( ... -
ie67中li下的间隙问题
2014-03-21 17:42 546一、以下是引发此BUG的条件: 必要条件: l ... -
含滚动条的内容区域,文字居中问题 版心问题
2014-01-23 14:53 0最近在工作中遇到了一些版心问题,下面简单的记录一下。 ht ... -
IE6下溢出多余文字--多了一只猪
2013-10-29 14:22 367在IE6中,会无缘无故多出几个字儿来,这是IE6BUG 。 ... -
遇到的问题
2013-10-21 17:45 0影视课堂: 1、影视课堂--影视课堂 当含有滚动条的一个块 ... -
点击空白处下拉列表隐藏,全选,反选,不选
2013-08-13 09:44 728<!DOCTYPE html PUBLIC &quo ... -
美化单个checkbox
2013-08-02 10:37 498<script language="jav ... -
美化type="file"
2013-08-02 10:30 542<div class="fileInput ... -
ie6兼容png前置与背景
2013-07-23 11:16 704次方法需要用到一个插件:DD_belatedPNG.js ... -
下载--美化select 2
2013-07-29 13:46 572<!DOCTYPE html PUBLIC &quo ... -
下载--美化select
2013-07-29 13:47 479<!DOCTYPE html PUBLIC &quo ... -
视频播放 ---滚动条的设置
2013-07-29 13:52 855此方法需要引入一个插件:jscroll.js. 以 ... -
CSS 子div设置float之后父div无法自适应高度问题 --清除浮动
2013-04-18 17:31 0向父容器的末尾再插入一个额外的标签,并令其清除浮动(clear ... -
同一行图片和文字垂直居中以及图片和文字间隙问题
2013-04-04 23:47 14741、垂直居中: 如果一个div中含有图片和文字,并且 ... -
透明度相关问题
2013-04-04 04:48 0背景渐变问题: http://hi.baidu.com/dii ... -
ie6兼容-------Xun
2013-07-23 10:33 6191、float属性对margin的影响-----双边距问题 ...
相关推荐
基于jQuery的美化select插件就是为了改善这种状况,提供统一、美观的下拉选择框界面,同时保持良好的浏览器兼容性。 一、jQuery与jQuery插件 jQuery是一款广泛使用的JavaScript库,它简化了DOM操作、事件处理、...
这篇博客"js+css美化select,简单易用代码少"探讨了如何利用这两种技术实现这一目标,而且重点在于代码简洁,易于理解。 首先,我们需要理解JavaScript的作用。JavaScript可以用来动态地操作DOM(文档对象模型),...
在网页设计中,"jquery+css3美化select下拉列表框特效"是一个常见的需求,它旨在提升用户体验,使传统的HTML `<select>` 元素看起来更加现代和吸引人。本项目结合了JavaScript库jQuery和CSS3的新特性,为下拉列表框...
针对这一问题,开发者们创造了许多jQuery插件来美化SELECT控件,使其在功能和视觉效果上都有所提升。本项目就是其中的一款,名为“JQ美化select控件”,它具备良好的兼容性和多浏览器支持,包括IE6到IE11、Firefox和...
在美化select下拉框时,jQuery可以提供一套跨浏览器的解决方案,帮助我们创建具有统一外观和交互体验的选择框。 要实现jQuery美化select下拉框,通常我们会使用以下步骤: 1. **引入jQuery库**:首先,在HTML文件...
《jQuery美化Select下拉框详解》 在网页开发中,Select下拉框是常见的表单元素,但在默认状态下,其样式往往显得朴素无华,不符合现代网页设计的审美要求。为了解决这个问题,jQuery提供了一种强大的解决方案——...
"美化select控件Jquery chosen"正是为了解决这一问题而存在的。Chosen是一个流行的jQuery插件,它提供了美观且易用的多选和单选下拉菜单,极大地提升了用户体验。 Chosen插件的核心特性包括: 1. **美化样式**:...
之前我们分享过很多款非常漂亮而且实用的jQuery美化版Select下拉框插件,比如...今天我们要给大家介绍另一款基于jQuery的自定义美化Select下拉框插件,它的配置十分简单,引用插件库后用几行jQuery代码初始化即可。
本资源"jquery select美化 select插件下拉框美化成类似菜单风格(兼容很好)"正是这样一个解决方案,它将Select转换为类似菜单的风格,且具有良好的浏览器兼容性。 jQuery是一款广泛使用的JavaScript库,它简化了DOM...
这时,我们就需要借助jQuery这样的JavaScript库来对`select`进行美化。本文将详细介绍如何在jQuery基础上美化`select`,并实现自定义函数,同时确保原有的功能如取值、增删改等操作不受影响。 首先,我们需要引入...
"jQuery美化Select下拉菜单插件"正是这样一个解决方案,它通过jQuery技术和CSS样式,将原本单调的`<select>`元素转化为更加精致、易于使用的下拉菜单。 这个插件可能包含了以下关键知识点: 1. **jQuery基础**:...
"一款html5表单样式美化select单选框表单提交代码.zip" 是一个资源包,旨在帮助开发者实现更美观、更具吸引力的HTML5表单设计。这个压缩包包含了一个使用须知的文本文件(使用须知.txt)以及一个可能为CSS或...
图片美化Select下拉框及Input文本框效果,select新样式,使用了htc文件,因此在兼容性方面,仅支持IE内核的浏览器,火狐、傲游可能有些问题。本美化效果包括3个表单元素: 1、select下拉按钮的新样式 2、文本框...
本文将深入探讨如何使用JavaScript (JS) 和 CSS 结合图片资源来美化`select`元素。 首先,我们要了解`select`元素的基本结构。在HTML中,`<select>`标签用于创建一个下拉列表,用户可以通过点击展开选项进行选择。...
之前我向大家分享过一款非常绚丽的CSS3发光表单,的确是很酷,大家可以先看看。...表单整体看上去很干净,特别的是,该CSS3联系表单有一个自定义的美化select表单,表单项在被激活的时候边框颜色会改变。
JavaScript在美化select标签的过程中主要扮演了以下几个角色: 1. 隐藏原始select元素:通过JavaScript,可以将原始的select标签隐藏起来,让其不可见。这是实现自定义下拉列表效果的前提,因为只有隐藏了原生的...
本文将深入探讨如何通过CSS和JavaScript技术来重新定义和美化select元素,打破其默认样式带来的限制。 一、基本概念 1. Select元素:在HTML中,`<select>`标签用于创建一个下拉列表,用户可以从预定义的选项中进行...