1234567891011121314151617181920212223242526272829303132333435363738394041 |
- $.fn.range = function (cfg) {
- cfg = cfg || {};
- var $input = $(this);
- if (cfg.hasOwnProperty('min'))
- $input.attr('min', cfg.min);
- if (cfg.hasOwnProperty('max'))
- $input.attr('max', cfg.max);
- if (cfg.hasOwnProperty('step'))
- $input.attr('step', cfg.step);
- if (cfg.hasOwnProperty('value'))
- $input.val(cfg.value);
- function changeHandler(e) {
- var max = Number($input.attr('max'));
- var min = Number($input.attr('min'));
- var thisval = Number($input.val());
- var bfb = Math.floor((thisval - min) * 100 / (max - min));
- $input.css('background-size', bfb + '% 100%');
- $input.attr('title', thisval);
- if (e && cfg.hasOwnProperty('onChange') && e.type !== "change")//IE下去掉 e.type !== "change"
- cfg.onChange(thisval, bfb);
- return $input;
- }
- $input.change(changeHandler);
- $input.on('input propertychange', changeHandler);
- changeHandler();
- return this;
- };
|