小巧实用的数字加减插件(jquery插件)

自己的第一个jquery插件,规模虽然不大,但是小成就满满,对jquery又有了更进一步的认识。

简单实用的数字加减插件,实现通过加减按钮对文本框内的数字进行增减操作。

效果图:

参数:

默认值、最大值、最小值、增减度。

可单独对每个input设置参数,也可以对所有input统一设置。参考代码在下方:

使用方法:

1.引用css、js文件(记得引用jquery.min.js)

2.前台:

  2.1无参数

<input type="text" class="numberText" />
<script type="text/javascript">
    $(".numberText").spinner();
</script>

  2.2整体参数

<input type="text" class="numberText"/>

<script type="text/javascript">
    $(".numberText").spinner({
         value: 1,
         min: 0,
         max: 15,
         step: 1
    });
</script>

  2.3逐个设置参数

<input type="text" class="numberText" value="11" data-step="1" data-min="0" data-max="10" />
<input type="text" class="numberText" value="11" data-step="1" data-min="0"/>
<input type="text" class="numberText" />

<script type="text/javascript">
    $(".numberText").spinner({
         value: 5,
         min: -2,
         max: 15,
         step: 2
    });
</script>

3.CSS

span.spin-text {
    display: inline-block;
    overflow: hidden;
    border:1px solid silver;
}

    span.spin-text .spin-val {
        border: 1px solid silver;
        border-top:none;
        border-bottom:none;
        vertical-align: middle;
        width: 30px;
        height:18px;
        text-align: center;
    }

    span.spin-text a {
        display: inline-block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        border: none;
        text-align: center;
        vertical-align: middle;
        text-decoration: none;
        background: #fff;
        font-family:宋体;
        font-weight:bold;
        font-size:14px;
    }

        span.spin-text a:hover {
            background:#f3f3f3;
        }

4.JS

/*
    jQuery加减数字插件
    作者:metro-liang
    时间:2015-10-16
    版本:v1.0
*/

/*
  参数:value:默认值
        min:允许的最小值
        max:允许的最大值
        step:增减度
*/
; (function ($) {
    $.fn.extend({
        spinner: function (options) {
            return this.each(function () {
                var defaults = {
                    value: 1,
                    min: 1,
                    max: 100,
                    step: 1
                };
                var _this = $(this);

                var opts = $.extend(defaults, options);

                opts.step = _this.data("step") != null ? _this.data("step") : opts.step;
                opts.min = _this.data("min")!=null? _this.data("min"):opts.min;
                opts.max = _this.data("max") != null ? _this.data("max") : opts.max;
                opts.value = _this.val() != "" ? _this.val() : opts.value;
                if (opts.value > opts.max || opts.value < opts.min) {
                    opts.value = opts.max;
                }
                var container = $(‘<span></span>‘).addClass(‘spin-text‘);
                var textField = _this.addClass(‘spin-val‘).val(opts.value).css("ime-mode","Disabled").keypress(function () {
                    return (/[\d]/.test(String.fromCharCode(event.keyCode)));
                }).bind("copy cut paste",function(e){
                    return false;
                });
                var decreaseBtn = $(‘<a href="javascript:void(0)">-</a>‘).click(function () { changeValue(-1) });
                var increaseBtn = $(‘<a href="javascript:void(0)">+</a>‘).click(function () { changeValue(1) });
                textField.before(decreaseBtn).after(increaseBtn);

                textField.add(increaseBtn).add(decreaseBtn).wrapAll(container);

                function changeValue(d) {
                    var value = parseInt(textField.val());
                    if (isNaN(value))
                    {
                        value = opts.min;
                    }
                    var _val = value + d * opts.step;

                    if (_val <= opts.max && _val >= opts.min) {
                        value = _val;
                    }
                    textField.val(value);
                }
            });
        }
    });

})(jQuery);
时间: 2024-10-16 17:41:22

小巧实用的数字加减插件(jquery插件)的相关文章

jQuery数字加减插件

我们在网上购物提交订单时,在网页上一般会有一个选择数量的控件,要求买家选择购买商品的件数,开发者会把该控件做成可以通过点击实现加减等微调操作,当然也可以直接输入数字件数.本文将介绍常见的几种使用spinner数字微调器来实现数字加减的功能的方法. 左右加减数字 像京东提交订单时目前使用的是左右加减数字的效果,这个效果直接明了,操作简单.我们使用jquery.spinner.js插件实现左右加减数字,调用方法非常简单,请看演示示例1.   <input type="text" cl

jQuery实现购物车数字加减效果

效果图: jQuery实现购物车数字加减效果,方法本简单. 经常会写到购物车这块,而购物车很多就有加减这个效果(可以将HTML代码复制多个,同时支持),小小的总结了一下,代码如下: HTML: <div class="gw_num"> <em class="jian">-</em> <input type="text" value="1" class="num"/&

自定义数字加减控件

1_自定义数字加减控件的要求 创建Module -NumberAddSubView A_输入的只能是数字,而且不能通过键盘输入 B_通过加减按钮操作数字 C_监听加减按钮 D_数组有最小值和最大值的限制 E_自定义属性 2.提供接口,让外界监听到数字的变化 1_设置接口 @Override public void onClick(View v) { if (v.getId() == R.id.btn_sub) { //Toast.makeText(mContext,"减",Toast.

转 jquery插件--241个jquery插件—jquery插件大全

241个jquery插件—jquery插件大全 jquery插件jqueryautocompleteajaxjavascriptcoldfusion jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascrīpt框架.其经典的Slogan是“Write Less, Do more”(写更少的代码,做更多的事情).jQuery是轻量级的js库(压缩后只有21k) ,这是其它

微信小程序——购物车数字加减

上一篇,我们有讲到如何造一个购物车弹层.今天来说一下,购物车数量的加减如何实现. 主要思路就是在data里面定义一个属性,属性值就是这个数量.点击+的时候就+1,点击-的时候就-1,再结合setData更改这个数字.当数字等于1的时候,要给-的按钮添加一个disabled的属性. wxml代码: <view class='row item-center'> <button class="buy-num-btn btn-minus" disabled="{{m

移动端下滑刷新插件(jQuery插件)

题外话:好久没写过博客了,感觉还是在校园的舒服.感觉实习都很累,一天负责得好多事情.不过值得炫耀的是,以前上大一时候,某老师拿出他们企业的项目,说这个项目单纯源代码就1个G.当时觉得,这么大的项目,肯定很多人一起做并且花费许多时间.现在出来实习了两个月,独自从前端到后台,都独自敲了上G的代码,觉得当时是没见过.而且现在一个人就承担公司大部分的业务,感觉还是不错的. 好了,回到话题,由于不能独自开发,而且为了给他们方便,自己写过不少的插件,不过今天刚好空闲,发出刚好完成的,移动端的下滑到底刷新插件

241个jquery插件—jquery插件大全

jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascrīpt框架.其经典的Slogan是“Write Less, Do more”(写更少的代码,做更多的事情).jQuery是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+). jQue

241个JQuery插件 -- JQuery插件大全

原文地址:http://blog.csdn.net/adsdassadfasdfasdf/article/details/5603206 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascrīpt框架.其经典的Slogan是“Write Less, Do more”(写更少的代码,做更多的事情).jQuery是轻量级的js库(压缩后只有21k) ,这是其它的js库所不

jQuery购物数量数字加减运算效果

<a href="###" id="add" value="+">+</a> <input type="text" id="num" value="3" /> <input type="button" id="jian" value="-" /> <script> $(