jQuery数字加减插件
来源:互联网 发布:淘宝粗纺面料 编辑:程序博客网 时间:2024/05/07 14:08
jQuery数字加减插件.
HTML:
<!doctype html><html><head> <meta charset="UTF-8"> <title>spinner加减</title> <link rel="stylesheet" type="text/css" href="css/spinner.css" /> <script src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.spinner.js"></script> <style type="text/css"> .wrapBox { width: 500px; margin: 20px auto;} </style></head><body> <div class="wrapBox"> <div class="spinner"> <button class="decrease">-</button> <input type="text" class="spinnerTxt" /> <button class="increase">+</button> <div class="cb"></div> </div> </div> <script type="text/javascript"> $('.spinner').spinner(); </script></body></html>
CSS
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{ margin:0; padding:0; border:0; font:inherit; font-size:100%; vertical-align:baseline}.cb { width: 0; height: 0; line-height: 0; overflow: hidden;}.spinner { height: 26px;}button{ width:24px; height: 24px; text-align: center; color:#e5312a; font:22px Arial bold; padding:0; outline:none;}.spinner .decrease { cursor: pointer; background: #FFF; border:1px solid #e6e6e6; float: left;}.spinner .increase { cursor: pointer; background: #FFF; border:1px solid #e6e6e6; float: left;}.spinnerTxt { height:20px; width:28px; overflow:hidden; border: 1px solid #e6e6e6; text-align: center; color:#FFFFFF; background:#F60; *zoom:1; -webkit-box-shadow:0 3px 3px -4px #aaa; -moz-box-shadow:0 3px 3px -4px #aaa; box-shadow:0 3px 3px -4px #aaa; float: left;}.spinnerTxt.passive,.spinnerTxt.invalid { background: #e5312a;}
JS
/**spinner插件 默认是1 最小是0**/;(function($){ $.fn.spinner = function(opts){ return this.each(function(){ var defaults = {value:1,min:0}; var options = $.extend(defaults,opts); var keycodes = {up:38,down:40}; var objSpinner = $(this); var textField = objSpinner.find('.spinnerTxt').addClass('value').attr('maxlength','2').val(options.value).bind('keyup paste change',function(e){ var field = $(this); if(e.keyCode == keycodes.up){ changeValue(1); }else if(e.keyCode == keycodes.down){ changeValue(-1); }else if(getValue(field) != objSpinner.data('lastValidValue')){ validateAndTrigger(field); } }); var increaseButton = objSpinner.find('.increase').click(function(){ changeValue(1); }); var decreaseButton = objSpinner.find('.decrease').click(function(){ changeValue(-1); }); validate(textField); objSpinner.data('lastValidateValue',options.value); function validateAndTrigger(field){ clearTimeout(objSpinner.data('timeout')); validate(field); //var value = validate(field); //如果是有效数字 //if (!isInvalid(value)) { //这里没搞懂 //textField.trigger('update', [field, value]) //} } function validate(field){ var value = getValue(); if(value <= options.min){ decreaseButton.attr('disabled','disabled').css({cursor:'auto',background:'#e6e6e6'}); }else{ decreaseButton.removeAttr('disabled').css({cursor:'pointer',background:'#FFF'}); field.toggleClass('invalid',isInvalid(value)).toggleClass('passive',value === 0); } //如果不是有效的值 if(isInvalid(value)){ var timeout = setTimeout(function(){ textField.val(objSpinner.data('lastValidValue')); validate(field) },500); objSpinner.data('timeout',timeout); }else{ objSpinner.data('lastValidValue',value); } return value; } function changeValue(delta){ textField.val(getValue() + delta); validateAndTrigger(textField); } /*只要大于0的整数就会返回false * 只要小于0的整数就会返回true * 只要是字符串就会返回true */ function isInvalid(value){ return isNaN(+value) || value < options.min; } /* * function getValue(field) { * field = field || textField; * var value = field.val() || 0; * return parseInt(value, 10); * } */ function getValue(field){ field = field || textField; return parseInt(field.val() || 0, 10); } }) }})(jQuery)
0 0
- jQuery数字加减插件
- jquery.spinner数字智能加减插件
- jQuery实现购物车数字加减效果
- 基于jquery数字加减输入框
- 自己动手丰衣足食之 jQuery 数量加减插件
- 【数字加减】
- jquery插件--增减数字
- jQuery 实现列表中的数字加减框&JSON化数据
- jquery控制商品数量加减改变价格,只能输入数字
- [jQuery][插件][tgAnimationLabel]数字滚动
- Jquery-animateNumber数字动画插件
- jquery-animateNumber数字动画插件
- 实现大数字加减。
- 实现数字加减
- 自定义数字加减控件
- 数字加减多线程
- 【高精度加减-数字类】
- JavaScript 字符串加减数字
- android绘图原理
- 手工配置tnsnames.ora文件注意事项——谨慎处理空格
- SpringMVC拦截器(资源和权限管理)
- 24点
- 构建之法,运用之妙,存乎一心
- jQuery数字加减插件
- phpcms网站转移时的注意事项
- 【转载分享】总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
- 一个CXF集成SPRING的WEBSERVICE完整实例
- 岁末年新
- neutron的基本原理
- OJ刷题二——求圆柱体的表面积与体积
- 大閘蟹飄香 孕婦吃螃蟹需看體質
- Activity切换时,可能出现的白色闪屏解决方案