zoukankan      html  css  js  c++  java
  • 数字微调

    <div class="aaa"></div>
    <div class="bbb"></div>
    
    <script>
        $(function(){
            $(".aaa").numadjust({exg:false});
            $(".bbb").numadjust({exg:true,exgnum:{min:1,max:10}});
        })
    </script>
    

     

    (function (window, $, undefined) {
        var num=0;
        function btnClick(txtdom,dom,options,bool){
            //条件成立=超出范围
            num=bool===true?parseInt(txtdom.val())+1:parseInt(txtdom.val())-1;
            if (options.exg) {
                //有最大最小限制
                if (num>=options.exgnum.max) {
                    bool===true?dom.addClass("noClick"):dom.siblings("span").addClass("noClick");
                }else{
                    bool===true?dom.removeClass("noClick"):dom.siblings("span").removeClass("noClick");
                }
                if (num<=options.exgnum.min) {
                    bool===true?dom.siblings("span").addClass("noClick"):dom.addClass("noClick");
                }else{
                    bool===true?dom.siblings("span").removeClass("noClick"):dom.removeClass("noClick");
                }
                if (bool) {num=num>=options.exgnum.max?options.exgnum.max:num;
                }else{num=num<=options.exgnum.min?options.exgnum.min:num;}
            }else{}
            txtdom.val(num);
        }
        function btnoClick(dom){
            dom.children('span').addClass("noClick");
        }
        $.extend($.fn, {
            numadjust: function (option) {          
                var numadjustClass={
                    exg:false,//默认没有最大最小值
                    exgnum:{
                        min:0,
                        max:100
                    },
                }
                if ($(this)[0] == null || $(this)[0] == undefined) { return; };
                //进行初始化
                var options=$.extend(numadjustClass,option||{});
                if (options.exgnum.max<options.exgnum.min) { return;};
                //是否有最大最小值
                //var flag=options.exg;
                var dom=$(this);
                //添加元素
                dom.find('.num').remove();
                dom.prepend("<div class='num'><span class='jadd'>+</span><input type='number' value='1' class='jtxt'/><span class='jcut'>-</span></div>")
    
                //定义方法
                var num=dom.find('.num');      
                var btnadd=num.children('.jadd');
                var btncut=num.children('.jcut');
                var txt=num.children('.jtxt');
                //定义方法
               try{
                    //input调整
                    var exgNumber=/^[1-9]d*|0$/;
                    $(".jtxt").on("input",function(event) {
                        var txtNum=$(this).val();
                        if(txtNum == "" || txtNum == null ||txtNum ==undefined){$(this).val(1);}
                        else{
                            if (exgNumber.test(txtNum)){
                                if (options.exg) {
                                    txtNum=txtNum>options.exgnum.max?options.exgnum.max:txtNum;
                                    txtNum=txtNum<options.exgnum.min?options.exgnum.min:txtNum;
                                }
                                $(this).val(txtNum);
                            }else{
                                $(this).val(1);
                            }
                        }
                    });
                    //增加减少数字
                    btnadd.click(function(){
                        btnClick(txt,$(this),options,true);
                    })
                   btncut.click(function(){
                        btnClick(txt,$(this),options,false);
                    })
               }catch(e){}
            },
        })
    })(window, Zepto);

      

     /*初始化 | begin*/
    html{font-size: 10px;line-height: 1em;}
    body,ul{margin: 0;padding:0;font-size: 1em;}
    ul,li{list-style: none;}
    input{padding: 0;}
    /*初始化 | end*/
    .num{overflow: hidden;}
    .num span,.num input{font-size:1.2em;float:left;display:block;3em;height:3em;text-align: center;line-height:3em;border: 1px solid #e8e8e8;border-radius: 4px;background: #fff;}
    .num span{cursor:pointer;}
    .num span:first-child{border-radius: 4px 0 0 4px;}
    .num span:last-child{border-radius: 0 4px 4px 0;}
    .num input{4em;border-radius: 0;border-left:0 none;border-right: 0 none;-webkit-appearance: none;}
    span.noClick{background-color: #e8e8e8;color: #666;}
    

      

  • 相关阅读:
    pandas 查看行列数
    git提交代码至GitHub
    编码错误
    Pandas中根据列的值选取多行数据
    pandas过滤缺失数据之dropna()
    kail linux安装
    mybatis_plus插件使用
    Vue 插槽和自定义事件
    Vue计算属性
    使用axios 异步显示数据到页面
  • 原文地址:https://www.cnblogs.com/caiCheryl/p/5563349.html
Copyright © 2011-2022 走看看