六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

jQuery插件jQuery Spin Button自定义文本框数值自增或自减

[复制链接]

升级  77.2%

280

主题

280

主题

280

主题

进士

Rank: 4

积分
886
 楼主| 发表于 2013-2-7 15:23:09 | 显示全部楼层 |阅读模式
/** *  jquery.spin-button *  (c) 2008 Semooh (http://semooh.jp/) * *  Dual licensed under the MIT (MIT-LICENSE.txt) *  and GPL (GPL-LICENSE.txt) licenses. * **/(function($){  $.fn.extend({    spin: function(opt){      return this.each(function(){        opt = $.extend({            imageBasePath: 'img/spin/',            spinBtnImage: 'spin-button.png',            spinUpImage: 'spin-up.png',            spinDownImage: 'spin-down.png',            interval: 1,            max: null,            min: null,            timeInterval: 500,            timeBlink: 200          }, opt || {});                var txt = $(this);                var spinBtnImage = opt.imageBasePath+opt.spinBtnImage;        var btnSpin = new Image();        btnSpin.src = spinBtnImage;        var spinUpImage = opt.imageBasePath+opt.spinUpImage;        var btnSpinUp = new Image();        btnSpinUp.src = spinUpImage;        var spinDownImage = opt.imageBasePath+opt.spinDownImage;        var btnSpinDown = new Image();        btnSpinDown.src = spinDownImage;                var btn = $(document.createElement('img'));        btn.attr('src', spinBtnImage);        btn.css({cursor: 'pointer', verticalAlign: 'bottom', padding: 0, margin: 0});        txt.after(btn);        txt.css({marginRight:0, paddingRight:0});                function spin(vector){          var val = txt.val();          if(!isNaN(val)){            val = parseFloat(val) + (vector*opt.interval);            if(opt.min!=null && val<opt.min) val=opt.min;            if(opt.min!=null && val>opt.max) val=opt.max;            if(val != txt.val()){              txt.val(val);              txt.change();              src = (vector > 0 ? spinUpImage : spinDownImage);              btn.attr('src', src);              if(opt.timeBlink<opt.timeInterval)                setTimeout(function(){btn.attr('src', spinBtnImage);}, opt.timeBlink);            }          }        }                btn.mousedown(function(e){          var pos = e.pageY - btn.offset().top;          var vector = (btn.height()/2 > pos ? 1 : -1);          (function(){            spin(vector);            var tk = setTimeout(arguments.callee, opt.timeInterval);            $(document).one('mouseup', function(){              clearTimeout(tk); btn.attr('src', spinBtnImage);            });          })();          return false;        });      });    }  });})(jQuery);
<script type="text/javascript" src="http://www.biuuu.com/demo/jquery.js"></script><script type="text/javascript" src="http://www.biuuu.com/demo/jquery_spin_button/jquery.spin.js"></script><script type="text/javascript">$(document).ready(function(){  $('#number').spin();  //$('#number').spin({interval:10});  //$('#number').spin({max:100,min: -100});  //$('#number').spin({imageBasePath: '/images/'});});</script><input type="text" id="number" value="0" />

素材准备
上下按钮图片,默认路径为:/img/spin/,上下按钮图片命名为:spin-button.png,可进行自定义修改

实例代码
一,包含文件部分

   1. <script type="text/javascript" src="jquery.js"></script>
   2. <script type="text/javascript" src="jquery.spin.js"></script>

二,HTML部分(自定义文本框)

   1. <input type="text" id="number" value="0" />

三,javascript部分(jQuery插件jQuery Spin Butt调用)

   1. <script type="text/javascript">
   2. $(document).ready(function(){
   3. $('#number').spin();
   4. });
   5. </script>

由上可知,使用jQuery插件jQuery Spin Button自定义文本框数值自增或自减非常简单,只需要设置好按钮图片,数值的初始值,就可实现自定义文本框数值自增或自减功能。

四,用户自定义配置
imageBasePath: '/img/spin/',按钮图片路径
spinBtnImage: 'spin-button.png',图片按钮图片名
spinUpImage: 'spin-up.png', 向上自增按钮图片名
spinDownImage: 'spin-down.png', 向下自减按钮图片名
interval: 1,步长值
max: null,  最大值
min: null, 最小值
timeInterval: 500,  点击时间间隔
timeBlink: 200  点击闪烁时间

1,自定义步长值为10(代码同上javascript部分)
$('#number').spin({interval:10});

2,自定义最大值与最小值
$('#number').spin({max:100,min: -100});

3,自定义按钮图片路径
$('#number').spin({imageBasePath: '/images/'});

jQuery插件jQuery Spin Button自定义配置对于定制个性化的文本框数值自增自减功能非常方便,使用也非常简单,总的来说,自定义文本框数值自增或自减使用jQuery插件jQuery Spin Button一行代码轻松搞定。

查看演示:http://www.biuuu.com/demo/jquery_spin_button/jquery_spin.html
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表