boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器


Posted in Javascript onNovember 21, 2010

我们使用热门的jquery进行设计,同时我们选择效果比较优秀的boxy弹出插件进行扩展(关于boxy的相关资料,请参照张鑫旭博客http://www.zhangxinxu.com/wordpress/?p=318)。下面介绍boxy作为选择器框架的应用。

对于选择器,相信用过招聘网站的人都不会陌生(就是那个点击就弹出的,选择行业、职位和地区的东西),选择器难点就在于样式调试,主要针对的是IE6。这里介绍行业、职位和地区选择器,下载的Demo包含这三个选择器。

行业选择器:无关联,调用语句为Boxy.industry(value, callback, options),参数value为已选定值编号集合(字符串类型,编号间以逗号分割),callback为可定义回调函数,传入callback的值为行业选择器选中项的编号集合(字符串类型,编号间以逗号分割),options为boxy插件可选参数。

调用例子:选择编号为1和2的行业,并且定义选择器标题为"行业类别选择器"

$("#industry").click(function() { 
Boxy.industry("1,2", function(val) { 
alert("你选择的是: " + val); 
}, { title: "行业类别选择器" }); 
return false; 
});

boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器   
职位选择器:二级联,调用语句为Boxy.job(value, shown, callback, options),参数value为已选定值编号集合(字符串类型,编号间以逗号分割,以b开头表示选择职位大类,以s开头表示选择职位小类),参数shown表示展示的职位大类的编号,参数callback为可定义回调函数,传入callback的值为职位选择器选中项的编号集合(字符串类型,编号间以逗号分割),options为boxy插件可选参数。

调用例子:选择编号为1的职位小类,编号为2的职位大类,定义选择器的名称为职位类别选择器

$("#job").click(function() { 
Boxy.job("s1,b2", "2", function(val) { 
alert("你选择的是: " + val); 
}, { title: "职位类别选择器" }); 
return false; 
});

boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
职位选择器:三级联,调用语句为Boxy.area(value, shown, callback, options),参数value为已选定值编号集合(字符串类型,编号间以逗号分割,以p开头表示选择省份,以c开头表示选择城市,以d开头表示选择县区),参数shown表示展示的地区的编号,参数callback为可定义回调函数,传入callback的值为地区选择器选中项的编号集合(字符串类型,编号间以逗号分割),options为boxy插件可选参数。

调用例子:选择编号为1和2的县或区,定义选择器的名称为工作地区选择器

$("#city").click(function() { 
Boxy.area("d1,c7", "1,724", function(val) { 
alert("你选择的是: " + val); 
}, { title: "工作地区选择器" }); 
return false; 
});

boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
存在Bug:

1.IE6 checkbox的margin设置会走样,IE6的checkbox边框清空是无效的,但对其它浏览器是有效的,而且很多人喜欢全局设定input的margin/padding为零,为了统一样式,唯有不管IE6了。

2.IE8 环境下,css设置选项<a>的hover效果迟钝甚至没反应,其它浏览器不存在这个问题(包括IE6),js代码解决也不是可取之道,代码hover反应还是有点慢。实在搞不懂IE8为什么会出现这种问题,知道的那位告诉我吧。

3.IE6下超长的选中项,显示的区域不够,在父标签中不会自动换行,而是在显示的选中项自身内部换行输出文字,造成样式走样。这个问题我也不知道怎么解决,谁知道告诉我吧。

4.暂时还没发现(可能大家会说IE6下确定按钮的hover效果,这个也不是什么bug,只是无关紧要的我懒得改,把标签该<a>就行了,不过实在不喜欢<a>,整天为IE6做无用功)。

优点:

1.当然是漂亮呗!

2.三个选择器分别表示三种级联关系的选择器,大家可以直接修改Demo中的数据源,及主体框架中的文字,即可变作其它的选择器。

3.还有改进的空间,谁去把demo的css样式整合一下,发上来吧。

悄悄告诉大家,选择器的外框圆角效果是使用png图片实现的,如果想更改透明程度,唯有重做图片了,如果愿意撇开IE6的话,可以使用另一种常用的圆角方法(不用图片只用css样式),方法已经写进boxy插件当中了(被我注释掉,包括样式文件),还有一种圆角方法在demo的round-corner.html文件中也介绍了,ExtendedBoxy.html为选择器的demo文件。其它的两个关于Boxy的html文件可是张鑫旭同学写的哦,张同学博客http://www.zhangxinxu.com/php/上可是有很多好东西的,大家有空上去看看吧。

Demo下载地址:/201011/yuanma/jquery-plugin-ExtendedBoxy.rar

Javascript 相关文章推荐
模仿JQuery.extend函数扩展自己对象的js代码
Dec 09 Javascript
jQuery功能函数详解
Feb 01 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
判断是否存在子节点的实现代码
May 18 Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
Mar 30 jQuery
node.js连接MongoDB数据库的2种方法教程
May 17 Javascript
Node.js  事件循环详解及实例
Aug 06 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
Sep 29 Javascript
vue中的适配px2rem示例代码
Nov 19 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
Nov 21 #Javascript
基于jquery的滑动样例代码
Nov 20 #Javascript
jquery $.ajax()取xml数据的小问题解决方法
Nov 20 #Javascript
简单实用的js调试logger组件实现代码
Nov 20 #Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 #Javascript
javascript AOP 实现ajax回调函数使用比较方便
Nov 20 #Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
Nov 20 #Javascript
You might like
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
php类常量的使用详解
2013/06/08 PHP
destoon复制新模块的方法
2014/06/21 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
安全生产年活动总结
2014/08/29 职场文书
法制演讲稿
2014/09/10 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server