自己动手丰衣足食之 jQuery 数量加减插件

   做一个手机端的订单相关项目中,其中下订单时需要用到数量加减的控件,可以设置默认值,也可以设置最大值和最小值。使用jQuery这么长时间了,平时很少去编写属于自己的插件,现在编写的时候对立面的一些原理还不是很懂,比如说插件函数入口、插件内如何编写私有函数、如何调用含参私有函数、如果在使用插件时提示参数。都还需要一一去摸索。

 

jQuery实现方式

    1、类级别插件开发。 $.ajax()。

    2、对象级别插件开发。  $("div").highlight()。

    3、jquery UI提供的widget方法。 第三种方法也是我在最近的项目中看另一个同时写的,同时还用到严格模式(strict)这些都是我以前没有接触过的。

 

效果图

 

默认使用方法


1

2

3

4

5

6

$("#plusHelper").plusready({

                    default:3,

                    max:10,

                    min:1

                });

//页面上放一个div即可

 

jQuery.plusready.js


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

/**

 *
购物数量加减

 *

 *
**/

(function(){

     

    $.fn.plusready=function(options){

        var defaults={

            min:0,

            max:10,

            default:0

        };

         

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

         

        var $btn_plus=$("<button
id='plus'>加</button>"
);

        var $btn_minus=$("<button
id='minus'>减</button>"
);

        var $input=$("<input
type='text' id='num' value='"
+op.default+"'
readonly='readonly' style='width:30px;height:16px;text-align:center;' />"
)

         

         

        var $this=$(this);

        $this.append($btn_plus);

        $this.append($input);

        $this.append($btn_minus);

         

        var num
= parseInt($input.val());

        $btn_plus.click(function(){

             

            if(num<op.max){

                num++;

                $input.val(num);

            }      

        });

         

        $btn_minus.click(function(){           

            if(num>op.min){

                num--;

                $input.val(num);

            }

        });

         

        return this//返回当前实例,已保证插件返回的对象支持jQuery链式操作

    }

     

     

})(jQuery)

  

/**

 *
购物数量加减

 *

 *
**/

(function(){

     

    $.fn.plusready=function(options){

        var defaults={

            min:0,

            max:10,

            default:0

        };

         

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

         

        var $btn_plus=$("<button
id='plus'>加</button>"
);

        var $btn_minus=$("<button
id='minus'>减</button>"
);

        var $input=$("<input
type='text' id='num' value='"
+op.default+"'
readonly='readonly' style='width:30px;height:16px;text-align:center;' />"
)

         

         

        var $this=$(this);

        $this.append($btn_plus);

        $this.append($input);

        $this.append($btn_minus);

         

        var num
= parseInt($input.val());

        $btn_plus.click(function(){

             

            if(num<op.max){

                num++;

                $input.val(num);

            }      

        });

         

        $btn_minus.click(function(){           

            if(num>op.min){

                num--;

                $input.val(num);

            }

        });

         

        return this//返回当前实例,已保证插件返回的对象支持jQuery链式操作

    }

     

     

})(jQuery)

时间: 2024-10-11 17:58:00

自己动手丰衣足食之 jQuery 数量加减插件的相关文章

jquery限制文本框数量加减只能输入数字

源码:  代码如下 复制代码 <!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

jquery实现文本框数量加减功能的例子分享_jquery

下面是使用jquery实现的代码. 效果图: 源码: 复制代码 代码如下: <!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>

【分享】小程序购物车demo演示实例(全选与不全选、数量加减、价格汇总、删除提示)

 最近由于项目开发需要用到多选.单选.多个数量加减控制,就利用小程序做了个购物车demo,仅供参考. 要点: 加减商品数量(可自定义商品数量).汇总价格.全选与全不选.删除商品弹窗提示 思路: 一.本地模拟Json数据格式的数组(1.购物车商品id:cid   2.标题title   3.图片地址   4.数量num   5.价格price   6.小计   7.是否选中selected) 二.点击复选框操作 如已经选中的,经点击变成未选中,反之而反之 点击依据index作为标识,而不用cid,

Android自定义商品购买数量加减控件_Android

在购买商品时,大家可以自定义数字加减控件,来确定购买商品的实际数量,如何实现此控件,请参考下文: 1.自定义数字加减控件的要求 创建Module -NumberAddSubView A_输入的只能是数字,而且不能通过键盘输入 B_通过加减按钮操作数字 C_监听加减按钮 D_数组有最小值和最大值的限制 E_自定义属性  2.提供接口,让外界监听到数字的变化 1_设置接口 @Override public void onClick(View v) { if (v.getId() == R.id.bt

自己动手丰衣足食之Easyform表单验证插件&amp;amp;validate.js实时验证

下载地址:http://download.csdn.net/detail/cometwo/9437671 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Easyform表单验证插件实现简易注册表单验证代码</title> <

jquery 页面加载插件load函数的运用

关于页面头部加载的一些实例,里面提到了2个jquery页面插件,这两个插件很不错,同时我也看了一下pace.js,这个插件.看了一下谷歌浏览器等的页面加载. 关于页面的加载,很难找到一个很好的方法来获取页面的实际下载进度.大多数的用法是运用 $(window).load(function() {})和$(document).ready(function(){})来进行的,虽然这种方法不是很准确,但是也可以模拟网页的下载. 前天我提到的插件NProgress.js,写文章的时候没有认真研究,因此也

自己动手丰衣足食之移动端城市选择插件

下载地址:http://download.csdn.net/detail/cometwo/9436021 接着上一篇纯js移动端日期选择插件,话说今天同事又来咨询省市县联动的效果在移动端中如何实现,还是老样子,百度上一搜,诶~又全是基于jquery.zepto的,更加可恨的是大多数都是PC版的,三个select标签!!!这在移动端上的体验太low了,我想以我的脾气肯定是要自己做的,正好之前做了日期选择,那就依葫芦画瓢自己再做一个吧,来来来,先上效果图: 用法 在html页面中引入input标签,

自己动手丰衣足食之移动端日期选择插件

下载地址:http://download.csdn.net/detail/cometwo/9436022 最近在项目上需要使用日期选择插件,由于是移动端的项目,对请求资源还是蛮节约的,可是百度上一搜,诶~全是基于jquery.zepto的,本来类库就很大,特别像mobiscroll这种样式文件一大堆又丑又长还收费,我就忍不住自己做了一个,也不过就10几kb的事情嘛,想想独乐乐不如众乐乐,如果伙伴们手上没有轻量级的日期选择插件不如先拿我这个应付一下吧! 项目截图: 项目地址:https://git

自己动手丰衣足食之移动端日期选择插件(强烈推荐)

移动端的日期选择插件相比PC端比较少,主要原因是不同手机浏览器的效果不一样,mobiscroll 太臃肿了,而且不是免费的,一个字:丑 在此向大家分享一款手机端的日期选择插件https://github.com/xfhxbb/lCalendar,特此向这位雷锋敬意,另一个是移动端 城市 选择插件http://blog.csdn.net/libin_1/article/details/50689075 或者看看http://blog.csdn.net/libin_1/article/details