(function ($) { $.fn.iVaryVal = function (options) { var defaults = { minusCss: "J_minus", addCss: "J_add", eleCss: "J_input", val: 1, //开放接口 onAddClick: function () { return false; },//开放接口 onMinusClick: function () { return false; }, //开放接口 onBlur: function () { return false; } //开放接口 }; var opts = $.extend(defaults, options); return this.each(function () { $.fn.draw(opts, $(this)); }); }; $.fn.draw = function (o, obj) { var minus = $("<a>", { "href": "javascript:void(0);" }).css(o.J_minus).html("-").appendTo(obj); var ele = ($("<input>", { "type": "text" }).css(o.J_minus).val(o.val)).appendTo(obj); var add = ($("<a>", { "href": "javascript:void(0);" }).css(o.J_minus).html("+")).appendTo(obj); add.click(function () { o.onAddClick(add); }); minus.click(function () { o.onMinusClick(minus); }); ele.click(function () { $(this).select(); }); ele.keyup(function (e) { if ($(this).val() != '') { C = parseInt($(this).val()); //非负整数判断 if (/^[1-9]\d*|0$/.test(C)) { $(this).val(C); O = C; } else { $(this).val(O); } } //键盘控制:上右--加,下左--减 if (e.keyCode == 38 || e.keyCode == 39) { add.click(); } if (e.keyCode == 37 || e.keyCode == 40) { minus.click(); } }); ele.blur(function () { o.onBlur(ele); }); } })(jQuery);
(function ($) { jQuery.fn.extend({ showCartDialog: function (settings) { return $(this).each( function () { var options = jQuery.extend({ flagCss: "tip", flagWidth: $(this).outerWidth(), isAnimate: false }, settings); options.flagWidth = (parseInt(options.flagWidth) < 100) ? 163 : parseInt(options.flagWidth); var oTip = $("<div class='ui-slider-tooltip ui-corner-all'></div>"); var oPointer = $("<div class='ui-tooltip-pointer-down'><div class='ui-tooltip-pointer-down-inner'></div></div>"); var oTipInfo = $("<div>" + options.flagInfo + "</div>").attr("class", options.flagCss).css("width", options.flagWidth + "px"); //合并提示信息 var oToolTip = $(oTip).append(oTipInfo).append(oPointer); //添加淡入效果 if (options.isAnimate) { $(oToolTip).fadeIn("slow"); } $(this).after(oToolTip); //计算提示信息的top、left和width var position = $(this).position(); var oTipTop = eval(position.top - $(oTip).outerHeight() - 8); var oTipLeft = position.left; $(oToolTip).css("top", oTipTop + "px").css("left", oTipLeft + "px"); window.setTimeout(function () { $(oToolTip).remove(); }, 2000); } ); } }) })(jQuery);
.ui-slider-tooltip{ /* CSS属性顺序按照 字母首字母 排列*/ background:#fdf9e5; border:1px solid #fd7d2c; color:#222222; display: block; text-align: left; padding: 5px 3px 5px 3px; position: absolute; z-index:99999; } .ui-corner-all { -moz-border-radius-bottomleft:5px; -moz-border-radius-bottomright:5px; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; -webkit-border-top-left-radius:5px 5px; -webkit-border-top-right-radius:5px 5px; -webkit-border-bottom-right-radius:5px 5px; -webkit-border-bottom-left-radius:5px 5px; } .ui-tooltip-pointer-down { border-bottom-width: 0; border-left: 7px dashed transparent; border-right: 7px dashed transparent; border-top: 8px solid #fd7d2c; bottom: -8px; display: block; height:0; left: 18%; margin-left: -7px; position: absolute; width:0; } .ui-tooltip-pointer-down-inner { border-left: 6px dashed transparent; border-right: 6px dashed transparent; border-top: 7px solid #fff; left: -6px; top: -9px; position: absolute; } .tip { font-size:9pt; }
<html> <head> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript" src="iVaryVal.js?333"></script> <script type="text/javascript" src="showCartDialog.js"></script> <link type="text/css" rel="stylesheet" href="tooltip.css" /> <script type="text/javascript"> $(function () { $(".i_box").iVaryVal({ val: 10, onAddClick: function (ele) { ele.prev().val(parseInt(ele.prev().val()) + 1); ele.prev().showCartDialog({ flagInfo: "赶快去购物吧" }); }, onMinusClick: function (ele) { ele.next().val(parseInt(ele.next().val()) - 1); ele.next().showCartDialog({ flagInfo: "赶快去购物吧" }); }, onBlur: function (ele) { ele.showCartDialog({ flagInfo: "赶快去购物吧" }); ele.trigger('keyup'); if (ele.val() == '') { ele.val(0); } //判断输入值是否超出最大最小值 } }); }); </script> </head> <body> <div class="i_box">1</div> <div class="i_box">2</div> <div class="i_box">3</div> <div class="i_box">4</div> <div class="i_box">5</div> <div class="i_box">6</div> <div class="i_box">7</div> <div class="i_box">8</div> <div class="i_box">9</div> <div class="i_box">10</div> <div class="i_box">11</div> <div class="i_box">12</div> </body> </html>