У меня есть этот JQuery код:Применяя принцип DRY к этому JQuery код
var thumb = $($('#slider').children('.ui-slider-handle'));
setLabelPosition();
$('#slider').bind('slide', function (event, ui) {
$('#boksTimer').html((((ui.value)/31) * 60).toFixed(0) + ' min pr. dag');
setLabelPosition();
});
function setLabelPosition() {
var label = $('#boksTimer');
label.css('top', '10px');
label.css('left', thumb.position().left - (label.width() - thumb.width())/ 2);
}
var thumb2 = $($('#slider2').children('.ui-slider-handle'));
setLabelPosition2();
$('#slider2').bind('slide', function (event, ui) {
$('#boksTimer2').html((((ui.value)/31) * 60).toFixed(0) + ' min pr. dag');
setLabelPosition2();
});
function setLabelPosition2() {
var label2 = $('#boksTimer2');
label.css('top', '10px');
label.css('left', thumb2.position().left - (label2.width() - thumb2.width())/ 2);
}
var thumb3 = $($('#slider3').children('.ui-slider-handle'));
setLabelPosition3();
$('#slider3').bind('slide', function (event, ui) {
$('#boksTimer3').html((((ui.value)/31) * 60).toFixed(0) + ' min pr. dag');
setLabelPosition3();
});
function setLabelPosition3() {
var label3 = $('#boksTimer3');
label.css('top', '10px');
label.css('left', thumb3.position().left - (label3.width() - thumb3.width())/ 2);
}
Как я могу сделать его более DRY?
DRY = Не повторяйте себе
Это пахнет [обзор кода] (http://codereview.stackexchange.com/) ... – cheeken
Что он должен делать? – j08691
У меня просто куча слайдеров вроде этого: http://jsfiddle.net/z3xV3/50/ 7 –