HTML+CSS+jQuery实现的一个数值增减组件NumericUpDown
2012-07-23 18:12
666 查看
在做一个项目的过程中,需要自己实现这样一个组件,效果图如下:
本文来自pinocchioatbeijing(专注前端技术 追求至美生活 以文会友)在博客园的博客,文章URL:/article/5699694.html,转载请注明,并欢迎大家不吝赐教。
0. 功能分析:
当鼠标点击向下与向下按钮的时候,左边的数值要随之增减。当然这样的组件在网上比比皆是,我还是决心自己做一个试试。1. 首先是切图。
切成下面这样的图,左边为正常显示的背景,右边为鼠标经过的背景。2. 决定html结构。
如下:<div id="addsubtract1" class="addsubtract"> <div class="addsubtract-left"></div> <div class="addsubtract-right cf"> <a class="ba addsubtract-right-top" href="javascript:;" title="增加">增加</a> <a class="ba addsubtract-right-bottom" href="javascript:;" title="减少">减少</a> </div> </div>
3. 写CSS。
如下:/*Begin *addsubtract plugin */ .addsubtract { width: 31px; height: 18px; float: left; } .addsubtract .addsubtract-left { width: 17px; height: 16px; float: left; background-color: #fff; border: 1px #abadb3 solid; text-align: center; } .addsubtract .addsubtract-right { float: left; border: 1px #abadb3 solid; border-left: none; } .addsubtract a.addsubtract-right-top,.addsubtract a.addsubtract-right-bottom { width: 9px; height: 8px; background: url("images/icons.gif") no-repeat scroll 0 -36px transparent; } .addsubtract a.addsubtract-right-bottom { background-position: 0 -44px; } .addsubtract a.addsubtract-right-top:hover { background-position: -10px -36px; } .addsubtract a.addsubtract-right-bottom:hover { background-position: -10px -44px; } /*End *addsubtract plugin */
4. 添加交互功能。
用jQuery插件编写,以方便代码的统一管理与功能的扩充。如下:; (function($) { $.fn .extend({ /*************************************************************** * @author Russell CG. * @author blog http://www.cnblogs.com/pinocchioatbeijing/ * @2012.7.23 * @可自由转载及使用,但请注明版权归属 **************************************************************/ iAddSubtract : function(options) { var isetting = { el : $(".addsubtract"), val : ".addsubtract-left", add : ".addsubtract-right>.addsubtract-right-top", sub : ".addsubtract-right>.addsubtract-right-bottom", defaultvalue : 1,// 默认值 upperlimit : null,// 上限 lowerlimit : null // 下限 }; options = $.extend(isetting, options || {}); return isetting.el .each(function() { var $this = $(this), $val = $this .find(isetting.val), $add = $this .find(isetting.add), $sub = $this .find(isetting.sub); $val.html(isetting.defaultvalue); $add .click(function() { if (isetting.upperlimit === null || (isetting.upperlimit && typeof isetting.upperlimit == "number" && isetting.defaultvalue < isetting.upperlimit)) { $val .html(++isetting.defaultvalue); } }); $sub .click(function() { if (isetting.lowerlimit === null || (isetting.lowerlimit && typeof isetting.lowerlimit == "number" && isetting.defaultvalue > isetting.lowerlimit)) { $val .html(--isetting.defaultvalue); } }); // console.log($(this).find(isetting.val).html()); }); } }); })(jQuery);
5. 调用。
$("").iAddSubtract({ el : $("#addsubtract1"), defaultvalue : 0 });
6. 总结。
该插件能够实现简单的控件功能,但是对于插件编写的原则还不是很熟悉,所以可能很多地方没有注意到,Anyway先记下来,以后可以改进。在预设选项值的提供与意外情况的处理方面,也还需要进一步完善。本文来自pinocchioatbeijing(专注前端技术 追求至美生活 以文会友)在博客园的博客,文章URL:/article/5699694.html,转载请注明,并欢迎大家不吝赐教。
相关文章推荐
- 用html+css+jQuery实现的一个简单的图片切换特效
- 分享一个jquery实现的双向选择组件
- 【HTML &CSS】实现在一个网页内实现浏览图片
- web前端,html+css+jquery实现水平菜单
- 模仿百度教育->考试日历控件, 自己用html+css+jquery实现
- 用 js、html、css实现一个弹出提示控件:
- 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的...
- css 与 jquery 配合实现重写radio组件样式
- 分享使用jQuery和CSS实现的一个超酷缩略图悬浮逼近效果
- 分享使用jQuery和CSS实现的一个超酷缩略图悬浮逼近效果
- jQuery+css+html实现页面遮罩弹出框
- 用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS)
- 问题:关于贴友的一个书本页面简单布局(html+css)的实现
- HTMl+CSS+JQuery实现简单的图片滑动切换
- 用html与css实现一个下载列表
- JQuery和html+css实现带小圆点和左右按钮的轮播图实例
- Html+css+js+jquery实现简单页面登录
- .使用 HTML+CSS 实现如图布局,border-widht 5px,一个格子大小是 50*50,hover时候边框变为红色(兼容IE6+,考虑语义化的结构)
- html+css+jQuery+JavaScript实现tab自动切换功能
- 关于贴友的一个书本页面简单布局(html+css)的实现