(function() {
var $, Silder, correctValue, percent2Value;
$ = jQuery;
this.settings = {
round: false,
value: 0,
total: 10,
step: 0,
inputID: "",
callback: function() {}
};
Silder = (function() {
function Silder(args) {
var ref;
ref = [args.elem, args.settings], this.elem = ref[0], this.settings = ref[1];
this.callback = this.settings.callback;
this.step = this.settings.step;
this.value = this.settings.value;
this.total = this.settings.total;
this.inputID = this.settings.inputID;
this.percent = 0;
this.wrapper = {};
this.init();
}
Silder.prototype.init = function() {
var $btn, $shadow, $target, $wrapper, templ, total, value;
$target = $(this.elem);
templ = $("
").attr({
"class": "silder-wrapper"
});
$target.append(templ);
this.wrapper = $target.children().filter(".silder-wrapper");
$btn = $(this.wrapper).children(".silder-btn");
$shadow = $(this.wrapper).children(".silder-shadow");
$wrapper = $(this.wrapper);
if (this.value !== 0) {
value = this.value;
total = this.total;
setTimeout(function() {
$btn.animate({
top: 0,
left: $wrapper.width() * value / total - $btn.width() / 2
});
return $shadow.animate({
width: $wrapper.width() * value / total - $btn.width() / 2
});
}, 30);
}
return this.setEvent();
};
Silder.prototype.getPercent = function() {
return this.percent;
};
Silder.prototype.setEvent = function() {
var $btn, $shadow, $wrapper, callback, digit, gridH, gridW, inputID, step, total, value, wrapper;
wrapper = this.wrapper;
$wrapper = $(this.wrapper);
callback = this.callback;
$btn = $(this.wrapper).children(".silder-btn");
$shadow = $(this.wrapper).children(".silder-shadow");
step = this.step;
inputID = this.inputID;
total = this.total;
value = this.value;
$btn = $(this.wrapper).children(".silder-btn");
$wrapper.on("click", function(e) {
var ajax, percent, val;
percent = e.offsetX / $wrapper.width();
val = percent2Value(percent, step, total);
ajax = true;
$btn.animate({
top: 0,
left: $wrapper.width() * val / total - $btn.width() / 2
});
$shadow.animate({
width: $wrapper.width() * val / total - $btn.width() / 2
});
return callback.apply(this, [percent, val, ajax]);
});
if (inputID !== "") {
$(document).on("keyup", inputID, function(e) {
var val;
val = parseFloat($(e.target).val());
if (val !== NaN) {
if (val <= total && val >= 0) {
$btn.animate({
top: 0,
left: $wrapper.width() * val / total - $btn.width() / 2
});
$shadow.animate({
width: $wrapper.width() * val / total - $btn.width() / 2
});
}
if (val >= total) {
$btn.animate({
top: 0,
left: $wrapper.width() - $btn.width() / 2
});
$shadow.animate({
width: $wrapper.width() - $btn.width() / 2
});
return $(e.target).val(total);
}
} else {
$btn.animate({
top: 0,
left: $wrapper.width() * value / total - $btn.width() / 2
});
$shadow.animate({
width: $wrapper.width() * value / total - $btn.width() / 2
});
return $(e.target).val(value);
}
});
}
$(this.wrapper).parent().children;
gridW = $btn.width();
if (step !== 0) {
digit = Math.pow(10, step.toString().length - 2);
gridW = gridW / digit;
}
gridH = $btn.height();
$btn.draggable({
cursor: "col-resize",
containment: 'parent',
axis: "x",
grid: [gridW, gridH],
refreshPositions: true,
drag: function(event, ui) {
var ajax, percent;
$shadow.css({
width: ui.position.left
});
if (ui.position.left !== 0) {
percent = (ui.position.left + $btn.width() / 2) / (wrapper.width() - $btn.width() / 2);
} else if (ui.position.left < $btn.width() / 2) {
percent = ui.position.left / wrapper.width();
} else {
percent = 0;
}
ajax = false;
value = percent2Value(percent, step, total);
return callback.apply(this, [percent, value, ajax]);
},
stop: function(event, ui) {
var ajax, percent;
$shadow.css({
width: ui.position.left
});
if (ui.position.left !== 0) {
percent = (ui.position.left + $btn.width() / 2) / (wrapper.width() - $btn.width() / 2);
} else if (ui.position.left < $btn.width() / 2) {
percent = ui.position.left / wrapper.width();
} else {
percent = 0;
}
ajax = true;
value = percent2Value(percent, step, total);
return callback.apply(this, [percent, value, ajax]);
}
});
return this;
};
return Silder;
})();
percent2Value = function(percent, step, total) {
var val;
val = percent * total;
val = correctValue(val, step);
return parseFloat(val.toFixed(3));
};
correctValue = function(val, step) {
var modStep, n, s;
s = step !== 0 ? step : 1;
modStep = val % s;
n = val / s;
return val = modStep * 2 >= s ? s * Math.ceil(n) : s * Math.floor(n);
};
$.fn.extend({
silder: function(options) {
this.settings = $.extend(settings, options);
return this.each(function(idx, elem) {
var silder;
return silder = new Silder({
elem: elem,
settings: settings
});
});
}
});
}).call(this);
//# sourceMappingURL=data:application/json;base64,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QWtCLElBQWxCLENBRE4sQ0FBQTtXQUVBLFVBQUEsQ0FBVyxHQUFHLENBQUMsT0FBSixDQUFZLENBQVosQ0FBWCxFQUhjO0VBQUEsQ0EvS2hCLENBQUE7O0FBQUEsRUFzTEEsWUFBQSxHQUFlLFNBQUMsR0FBRCxFQUFNLElBQU4sR0FBQTtBQUNiLFFBQUEsYUFBQTtBQUFBLElBQUEsQ0FBQSxHQUFPLElBQUEsS0FBVSxDQUFiLEdBQW9CLElBQXBCLEdBQThCLENBQWxDLENBQUE7QUFBQSxJQUNBLE9BQUEsR0FBVSxHQUFBLEdBQU0sQ0FEaEIsQ0FBQTtBQUFBLElBRUEsQ0FBQSxHQUFJLEdBQUEsR0FBTSxDQUZWLENBQUE7V0FHQSxHQUFBLEdBQVMsT0FBQSxHQUFTLENBQVQsSUFBYyxDQUFqQixHQUF3QixDQUFBLEdBQUksSUFBSSxDQUFDLElBQUwsQ0FBVSxDQUFWLENBQTVCLEdBQThDLENBQUEsR0FBSSxJQUFJLENBQUMsS0FBTCxDQUFXLENBQVgsRUFKM0M7RUFBQSxDQXRMZixDQUFBOztBQUFBLEVBa01BLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTCxDQUNFO0FBQUEsSUFBQSxNQUFBLEVBQVEsU0FBQyxPQUFELEdBQUE7QUFFTixNQUFBLElBQUMsQ0FBQSxRQUFELEdBQVksQ0FBQyxDQUFDLE1BQUYsQ0FBUyxRQUFULEVBQW1CLE9BQW5CLENBQVosQ0FBQTtBQUVBLGFBQU8sSUFBQyxDQUFBLElBQUQsQ0FBTSxTQUFDLEdBQUQsRUFBTSxJQUFOLEdBQUE7QUFFWCxZQUFBLE1BQUE7ZUFBQSxNQUFBLEdBQWEsSUFBQSxNQUFBLENBQ1g7QUFBQSxVQUFBLElBQUEsRUFBTyxJQUFQO0FBQUEsVUFDQSxRQUFBLEVBQVcsUUFEWDtTQURXLEVBRkY7TUFBQSxDQUFOLENBQVAsQ0FKTTtJQUFBLENBQVI7R0FERixDQWxNQSxDQUFBO0FBQUEiLCJmaWxlIjoic2lsZGVyLmpzIiwic291cmNlUm9vdCI6Ii9zb3VyY2UvIiwic291cmNlc0NvbnRlbnQiOlsiJCA9IGpRdWVyeVxuIyBpdCBuZWVkIGpxdWVyeS51aS5kcmFnXG5Ac2V0dGluZ3MgPSBcbiAgcm91bmQ6IGZhbHNlXG4gIHZhbHVlOiAwXG4gIHRvdGFsOiAxMFxuICBzdGVwOiAwXG4gIGlucHV0SUQ6IFwiXCJcbiAgY2FsbGJhY2s6ICgpIC0+XG5cblxuXG5jbGFzcyBTaWxkZXIgXG4gIGNvbnN0cnVjdG9yOiAoYXJncyApIC0+XG4gICAgW0BlbGVtLCBAc2V0dGluZ3NdID0gW2FyZ3MuZWxlbSwgYXJncy5zZXR0aW5nc11cbiAgICBAY2FsbGJhY2sgPSBAc2V0dGluZ3MuY2FsbGJhY2tcblxuICAgIEBzdGVwID0gQHNldHRpbmdzLnN0ZXBcbiAgICBAdmFsdWUgPSBAc2V0dGluZ3MudmFsdWVcbiAgICBAdG90YWwgPSBAc2V0dGluZ3MudG90YWxcbiAgICBAaW5wdXRJRCA9IEBzZXR0aW5ncy5pbnB1dElEXG4gICAgQHBlcmNlbnQgPSAwXG4gICAgQHdyYXBwZXIgPSB7fVxuXG4gICAgQGluaXQoKVxuICAgIFxuICAgIFxuXG4gIGluaXQgOiAoKSAtPlxuICAgICR0YXJnZXQ9ICQoQGVsZW0pXG4gICAgdGVtcGwgPSAkKFwiPGRpdj48ZGl2IGNsYXNzPSdzaWxkZXItc2hhZG93Jz48L2Rpdj48ZGl2IGNsYXNzPSdzaWxkZXItYnRuJz48L2Rpdj48L2Rpdj5cIikuYXR0ciBjbGFzcyA6XCJzaWxkZXItd3JhcHBlclwiXG4gICAgJHRhcmdldC5hcHBlbmQgdGVtcGxcbiAgICBAd3JhcHBlciA9ICR0YXJnZXQuY2hpbGRyZW4oKS5maWx0ZXIoXCIuc2lsZGVyLXdyYXBwZXJcIilcbiAgICBcbiAgICAkYnRuID0gJChAd3JhcHBlcikuY2hpbGRyZW4oXCIuc2lsZGVyLWJ0blwiKVxuICAgICRzaGFkb3cgPSAkKEB3cmFwcGVyKS5jaGlsZHJlbihcIi5zaWxkZXItc2hhZG93XCIpXG4gICAgJHdyYXBwZXIgPSAkKEB3cmFwcGVyKVxuXG4gICAgaWYgKEB2YWx1ZSBpc250IDApXG5cbiAgICAgIHZhbHVlID0gQHZhbHVlXG4gICAgICB0b3RhbCA9IEB0b3RhbFxuXG4gICAgICBzZXRUaW1lb3V0IC0+XG5cbiAgICAgICAgJGJ0bi5hbmltYXRlXG4gICAgICAgICAgdG9wOiAwXG4gICAgICAgICAgbGVmdDogJHdyYXBwZXIud2lkdGgoKSAqIHZhbHVlIC8gdG90YWwgLSAkYnRuLndpZHRoKCkgLyAyXG4gICAgICAgICRzaGFkb3cuYW5pbWF0ZVxuICAgICAgICAgIHdpZHRoOiAkd3JhcHBlci53aWR0aCgpICogdmFsdWUgLyB0b3RhbCAtICRidG4ud2lkdGgoKSAvIDJcbiAgICAgICwgMzBcblxuICAgIEBzZXRFdmVudCgpXG5cbiAgZ2V0UGVyY2VudCA6ICgpIC0+XG4gICAgQHBlcmNlbnRcblxuICBzZXRFdmVudCA6ICgpIC0+XG4gICAgd3JhcHBlciA9IEB3cmFwcGVyXG4gICAgJHdyYXBwZXIgPSAkKEB3cmFwcGVyKVxuICAgIGNhbGxiYWNrID0gQGNhbGxiYWNrXG4gICAgJGJ0biA9ICQoQHdyYXBwZXIpLmNoaWxkcmVuKFwiLnNpbGRlci1idG5cIilcbiAgICAkc2hhZG93ID0gJChAd3JhcHBlcikuY2hpbGRyZW4oXCIuc2lsZGVyLXNoYWRvd1wiKVxuICAgIHN0ZXAgPSBAc3RlcFxuICAgIGlucHV0SUQgPSBAaW5wdXRJRFxuICAgIHRvdGFsID0gQHRvdGFsXG4gICAgdmFsdWUgPSBAdmFsdWVcblxuICAgICRidG4gPSAkKEB3cmFwcGVyKS5jaGlsZHJlbihcIi5zaWxkZXItYnRuXCIpXG4gICAgJHdyYXBwZXIub24gXCJjbGlja1wiLCAoZSktPlxuICAgICAgcGVyY2VudCA9IGUub2Zmc2V0WCAvICR3cmFwcGVyLndpZHRoKClcbiAgICAgIHZhbCA9IHBlcmNlbnQyVmFsdWUgcGVyY2VudCwgc3RlcCwgdG90YWxcbiAgICAgIGFqYXggPSB0cnVlXG4gICAgICAkYnRuLmFuaW1hdGVcbiAgICAgICAgdG9wOiAwXG4gICAgICAgIGxlZnQ6ICR3cmFwcGVyLndpZHRoKCkgKiB2YWwgLyB0b3RhbCAtICRidG4ud2lkdGgoKSAvIDJcbiAgICAgICRzaGFkb3cuYW5pbWF0ZVxuICAgICAgICB3aWR0aDogJHdyYXBwZXIud2lkdGgoKSAqIHZhbCAvIHRvdGFsIC0gJGJ0bi53aWR0aCgpIC8gMlxuXG4gICAgICBjYWxsYmFjay5hcHBseSh0aGlzLFtwZXJjZW50LCB2YWwsIGFqYXhdKVxuXG4gICAgaWYgaW5wdXRJRCBpc250IFwiXCJcbiAgICAgICQoZG9jdW1lbnQpLm9uIFwia2V5dXBcIiwgaW5wdXRJRCAsIChlKS0+XG4gICAgICAgIHZhbCA9IHBhcnNlRmxvYXQgJChlLnRhcmdldCkudmFsKCkgXG4gICAgICAgIGlmIHZhbCBpc250IE5hTiBcbiAgICAgICAgICBpZiB2YWwgPD0gdG90YWwgYW5kIHZhbCA+PSAwIFxuICAgICAgICAgICAgJGJ0bi5hbmltYXRlXG4gICAgICAgICAgICAgIHRvcDogMFxuICAgICAgICAgICAgICBsZWZ0OiAkd3JhcHBlci53aWR0aCgpICogdmFsIC8gdG90YWwgLSAkYnRuLndpZHRoKCkgLyAyXG4gICAgICAgICAgICAkc2hhZG93LmFuaW1hdGVcbiAgICAgICAgICAgICAgd2lkdGg6ICR3cmFwcGVyLndpZHRoKCkgKiB2YWwgLyB0b3RhbCAtICRidG4ud2lkdGgoKSAvIDJcbiAgICAgICAgICBpZiB2YWwgPj0gdG90YWxcbiAgICAgICAgICAgICRidG4uYW5pbWF0ZVxuICAgICAgICAgICAgICB0b3A6IDBcbiAgICAgICAgICAgICAgbGVmdDogJHdyYXBwZXIud2lkdGgoKSAtICRidG4ud2lkdGgoKSAvIDJcbiAgICAgICAgICAgICRzaGFkb3cuYW5pbWF0ZVxuICAgICAgICAgICAgICB3aWR0aDogJHdyYXBwZXIud2lkdGgoKS0gJGJ0bi53aWR0aCgpIC8gMlxuICAgICAgICAgICAgJChlLnRhcmdldCkudmFsKHRvdGFsKSBcblxuICAgICAgICBlbHNlXG4gICAgICAgICAgJGJ0bi5hbmltYXRlXG4gICAgICAgICAgICB0b3A6IDBcbiAgICAgICAgICAgIGxlZnQ6ICR3cmFwcGVyLndpZHRoKCkgKiB2YWx1ZSAvIHRvdGFsIC0gJGJ0bi53aWR0aCgpIC8gMlxuICAgICAgICAgICRzaGFkb3cuYW5pbWF0ZVxuICAgICAgICAgICAgd2lkdGg6ICR3cmFwcGVyLndpZHRoKCkgKiB2YWx1ZSAvIHRvdGFsLSAkYnRuLndpZHRoKCkgLyAyXG4gICAgICAgICAgJChlLnRhcmdldCkudmFsKHZhbHVlKSBcblxuXG4gICAgJChAd3JhcHBlcikucGFyZW50KCkuY2hpbGRyZW5cblxuICAgIGdyaWRXID0gJGJ0bi53aWR0aCgpXG5cbiAgICBpZiAoc3RlcCBpc250IDAgKVxuICAgICAgZGlnaXQgPSBNYXRoLnBvdygxMCwgc3RlcC50b1N0cmluZygpLmxlbmd0aC0yKVxuICAgICAgZ3JpZFcgPSBncmlkVyAvIGRpZ2l0XG5cblxuICAgIGdyaWRIID0gJGJ0bi5oZWlnaHQoKVxuXG4gICBcbiAgICAkYnRuLmRyYWdnYWJsZSBcbiAgICAgIGN1cnNvcjogXCJjb2wtcmVzaXplXCJcbiAgICAgIGNvbnRhaW5tZW50OiAncGFyZW50J1xuICAgICAgYXhpczogXCJ4XCJcbiAgICAgIGdyaWQ6IFsgZ3JpZFcsIGdyaWRIIF1cbiAgICAgIHJlZnJlc2hQb3NpdGlvbnM6IHRydWVcbiAgICAgIGRyYWcgOiAoZXZlbnQsdWkpIC0+XG4gICAgICAgICRzaGFkb3cuY3NzXG4gICAgICAgICAgd2lkdGg6IHVpLnBvc2l0aW9uLmxlZnRcblxuXG4gICAgICAgIGlmIHVpLnBvc2l0aW9uLmxlZnQgaXNudCAwXG4gICAgICAgICAgcGVyY2VudCA9ICh1aS5wb3NpdGlvbi5sZWZ0ICsgJGJ0bi53aWR0aCgpIC8gMikvKHdyYXBwZXIud2lkdGgoKSAtICRidG4ud2lkdGgoKS8yKVxuICAgICAgICBlbHNlIGlmIHVpLnBvc2l0aW9uLmxlZnQgPCAkYnRuLndpZHRoKCkvMlxuICAgICAgICAgIHBlcmNlbnQgPSB1aS5wb3NpdGlvbi5sZWZ0L3dyYXBwZXIud2lkdGgoKVxuICAgICAgICBlbHNlXG4gICAgICAgICAgcGVyY2VudCA9IDBcblxuICAgICAgICBhamF4ID0gZmFsc2VcblxuXG5cbiAgICAgICAgIyBwZXJjZW50ID0gZGlnaXRSb3VuZCBwZXJjZW50LCBzdGVwXG4gICAgICAgICNcbiAgICAgICAgIyB2YWx1ZSA9IGRpZ2l0Um91bmQgcGVyY2VudCAqIHRvdGFsLCBzdGVwXG5cbiAgICAgICAgdmFsdWUgPSBwZXJjZW50MlZhbHVlIHBlcmNlbnQsIHN0ZXAsIHRvdGFsXG5cblxuICAgICAgICBjYWxsYmFjay5hcHBseSh0aGlzLFtwZXJjZW50LCB2YWx1ZSwgYWpheF0pXG5cbiAgICAgIHN0b3AgOiAoZXZlbnQsdWkpIC0+IFxuICAgICAgICAkc2hhZG93LmNzc1xuICAgICAgICAgIHdpZHRoOiB1aS5wb3NpdGlvbi5sZWZ0XG5cbiAgICAgICAgaWYgdWkucG9zaXRpb24ubGVmdCBpc250IDBcbiAgICAgICAgICBwZXJjZW50ID0gKHVpLnBvc2l0aW9uLmxlZnQgKyAkYnRuLndpZHRoKCkgLyAyKS8od3JhcHBlci53aWR0aCgpIC0gJGJ0bi53aWR0aCgpLzIpXG4gICAgICAgIGVsc2UgaWYgdWkucG9zaXRpb24ubGVmdCA8ICRidG4ud2lkdGgoKS8yXG4gICAgICAgICAgcGVyY2VudCA9IHVpLnBvc2l0aW9uLmxlZnQvd3JhcHBlci53aWR0aCgpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBwZXJjZW50ID0gMFxuXG4gICAgICAgIGFqYXggPSB0cnVlXG5cbiAgICAgICAgdmFsdWUgPSBwZXJjZW50MlZhbHVlIHBlcmNlbnQsIHN0ZXAsIHRvdGFsXG5cbiAgICAgICAgIyB2YWx1ZSA9IGRpZ2l0Um91bmQgcGVyY2VudCAqIHRvdGFsLCBzdGVwXG5cblxuXG5cbiAgICAgICAgY2FsbGJhY2suYXBwbHkodGhpcyxbcGVyY2VudCwgdmFsdWUsIGFqYXhdKVxuXG4gICAgQFxuXG5wZXJjZW50MlZhbHVlID0gKHBlcmNlbnQsIHN0ZXAsIHRvdGFsKSAtPlxuICB2YWwgPSBwZXJjZW50ICogdG90YWxcbiAgdmFsID0gY29ycmVjdFZhbHVlIHZhbCwgc3RlcFxuICBwYXJzZUZsb2F0IHZhbC50b0ZpeGVkKDMpXG4gIFxuICBcbiAgXG5jb3JyZWN0VmFsdWUgPSAodmFsLCBzdGVwICkgLT5cbiAgcyA9IGlmIHN0ZXAgaXNudCAwIHRoZW4gc3RlcCBlbHNlIDFcbiAgbW9kU3RlcCA9IHZhbCAlIHNcbiAgbiA9IHZhbCAvIHNcbiAgdmFsID0gaWYgbW9kU3RlcCAqMiA+PSBzIHRoZW4gcyAqIE1hdGguY2VpbChuKSBlbHNlIHMgKiBNYXRoLmZsb29yKG4pXG5cblxuXG5cblxuXG5cbiQuZm4uZXh0ZW5kXG4gIHNpbGRlcjogKG9wdGlvbnMpIC0+XG4gICAgXG4gICAgQHNldHRpbmdzID0gJC5leHRlbmQgc2V0dGluZ3MsIG9wdGlvbnNcblxuICAgIHJldHVybiBAZWFjaCAoaWR4LCBlbGVtKSAtPlxuXG4gICAgICBzaWxkZXIgPSBuZXcgU2lsZGVyXG4gICAgICAgIGVsZW0gOiBlbGVtXG4gICAgICAgIHNldHRpbmdzIDogc2V0dGluZ3NcbiAgICAgIFxuIl19
;