Skip to content

Commit 62d857d

Browse files
Dmitry KrekotaValentinH
Dmitry Krekota
authored andcommitted
Add Math.round for positions and dimensions (#454)
* Add Math.round for transform position
1 parent e2f720a commit 62d857d

File tree

6 files changed

+42
-33
lines changed

6 files changed

+42
-33
lines changed

dist/rzslider.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,7 @@
977977
var tick = {
978978
selected: self.isTickSelected(value),
979979
style: {
980-
transform: translate + '(' + position + 'px)'
980+
transform: translate + '(' + Math.round(position) + 'px)'
981981
}
982982
};
983983
if (tick.selected && self.options.getSelectionBarColor) {
@@ -1414,7 +1414,7 @@
14141414
setPosition: function(elem, pos) {
14151415
elem.rzsp = pos;
14161416
var css = {};
1417-
css[this.positionProperty] = pos + 'px';
1417+
css[this.positionProperty] = Math.round(pos) + 'px';
14181418
elem.css(css);
14191419
return pos;
14201420
},
@@ -1444,7 +1444,7 @@
14441444
setDimension: function(elem, dim) {
14451445
elem.rzsd = dim;
14461446
var css = {};
1447-
css[this.dimensionProperty] = dim + 'px';
1447+
css[this.dimensionProperty] = Math.round(dim) + 'px';
14481448
elem.css(css);
14491449
return dim;
14501450
},

dist/rzslider.min.css

+4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rzslider.min.js

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/rzslider.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,7 @@
981981
var tick = {
982982
selected: self.isTickSelected(value),
983983
style: {
984-
transform: translate + '(' + position + 'px)'
984+
transform: translate + '(' + Math.round(position) + 'px)'
985985
}
986986
};
987987
if (tick.selected && self.options.getSelectionBarColor) {
@@ -1418,7 +1418,7 @@
14181418
setPosition: function(elem, pos) {
14191419
elem.rzsp = pos;
14201420
var css = {};
1421-
css[this.positionProperty] = pos + 'px';
1421+
css[this.positionProperty] = Math.round(pos) + 'px';
14221422
elem.css(css);
14231423
return pos;
14241424
},
@@ -1448,7 +1448,7 @@
14481448
setDimension: function(elem, dim) {
14491449
elem.rzsd = dim;
14501450
var css = {};
1451-
css[this.dimensionProperty] = dim + 'px';
1451+
css[this.dimensionProperty] = Math.round(dim) + 'px';
14521452
elem.css(css);
14531453
return dim;
14541454
},

tests/specs/mouse-controls/draggable-range-slider-horizontal-test.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@
187187
it('should a working positionTrackingBar', function() {
188188
var newMin = 50,
189189
newMax = 90,
190-
minposition = helper.slider.valueToPosition(newMin),
191-
maxposition = helper.slider.valueToPosition(newMax);
190+
minposition = Math.round(helper.slider.valueToPosition(newMin)),
191+
maxposition = Math.round(helper.slider.valueToPosition(newMax));
192192
helper.slider.positionTrackingBar(newMin, newMax, minposition, maxposition);
193193

194194
expect(helper.scope.slider.min).to.equal(50);
@@ -411,8 +411,8 @@
411411
it('should a working positionTrackingBar', function() {
412412
var newMin = 50,
413413
newMax = 90,
414-
minposition = helper.slider.valueToPosition(newMin),
415-
maxposition = helper.slider.valueToPosition(newMax);
414+
minposition = Math.round(helper.slider.valueToPosition(newMin)),
415+
maxposition = Math.round(helper.slider.valueToPosition(newMax));
416416
helper.slider.positionTrackingBar(newMin, newMax, minposition, maxposition);
417417

418418
expect(helper.scope.slider.min).to.equal(50);

tests/specs/options-handling-test.js

+23-23
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@
356356
}
357357
};
358358
helper.createSlider(sliderConf);
359-
var expectedDimension = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
359+
var expectedDimension = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
360360
expect(helper.slider.selBar.css('width')).to.equal(expectedDimension + 'px');
361361
expect(helper.slider.selBar.css('left')).to.equal('0px');
362362
});
@@ -375,7 +375,7 @@
375375
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
376376
expect(actualDimension).to.equal(expectedDimension);
377377

378-
var expectedPosition = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
378+
var expectedPosition = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
379379
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
380380
});
381381

@@ -389,8 +389,8 @@
389389
}
390390
};
391391
helper.createSlider(sliderConf);
392-
var expectedDimension = helper.slider.valueToPosition(5),
393-
expectedPosition = helper.slider.valueToPosition(10) + helper.slider.handleHalfDim;
392+
var expectedDimension = Math.round(helper.slider.valueToPosition(5)),
393+
expectedPosition = Math.round(helper.slider.valueToPosition(10)) + helper.slider.handleHalfDim;
394394
expect(helper.slider.selBar.css('width')).to.equal(expectedDimension + 'px');
395395
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
396396
});
@@ -405,11 +405,11 @@
405405
}
406406
};
407407
helper.createSlider(sliderConf);
408-
var expectedDimension = Math.floor(helper.slider.valueToPosition(7)),
409-
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
408+
var expectedDimension = Math.round(helper.slider.valueToPosition(7)),
409+
actualDimension = Math.round(helper.slider.selBar[0].getBoundingClientRect().width);
410410
expect(actualDimension).to.equal(expectedDimension);
411411

412-
var expectedPosition = helper.slider.valueToPosition(3) + helper.slider.handleHalfDim;
412+
var expectedPosition = Math.round(helper.slider.valueToPosition(3)) + helper.slider.handleHalfDim;
413413
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
414414
});
415415

@@ -512,11 +512,11 @@
512512
};
513513
helper.createRangeSlider(sliderConf);
514514

515-
var expectedDimension = Math.floor(helper.slider.valueToPosition(6)),
516-
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
515+
var expectedDimension = Math.round(helper.slider.valueToPosition(6)),
516+
actualDimension = helper.slider.selBar[0].getBoundingClientRect().width;
517517
expect(actualDimension).to.equal(expectedDimension);
518518

519-
var expectedPosition = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
519+
var expectedPosition = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
520520
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
521521
});
522522

@@ -752,8 +752,8 @@
752752
};
753753

754754
helper.createRangeSlider(sliderConf);
755-
expect(helper.slider.minLab.css('left')).to.equal('-' + (helper.slider.minLab.rzsd / 2 - helper.slider.handleHalfDim) + 'px');
756-
expect(helper.slider.maxLab.css('left')).to.equal((helper.slider.barDimension - (helper.slider.maxLab.rzsd / 2 + helper.slider.handleHalfDim)) + 'px');
755+
expect(helper.slider.minLab.css('left')).to.equal('-' + Math.round(helper.slider.minLab.rzsd / 2 - helper.slider.handleHalfDim) + 'px');
756+
expect(helper.slider.maxLab.css('left')).to.equal(Math.round((helper.slider.barDimension - (helper.slider.maxLab.rzsd / 2 + helper.slider.handleHalfDim))) + 'px');
757757

758758
sliderConf.max = 100000001;
759759
helper.createRangeSlider(sliderConf);
@@ -1124,10 +1124,10 @@
11241124
}
11251125
};
11261126
helper.createSlider(sliderConf);
1127-
var expectedDimension = Math.floor(helper.slider.valueToPosition(8) + helper.slider.handleHalfDim),
1128-
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
1127+
var expectedDimension = Math.round(helper.slider.valueToPosition(8) + helper.slider.handleHalfDim),
1128+
actualDimension = Math.round(helper.slider.selBar[0].getBoundingClientRect().width);
11291129
expect(actualDimension).to.equal(expectedDimension);
1130-
expect(helper.slider.selBar.css('left')).to.equal(helper.slider.valueToPosition(2) + helper.slider.handleHalfDim + 'px');
1130+
expect(helper.slider.selBar.css('left')).to.equal(Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim + 'px');
11311131
});
11321132

11331133
it('should set the correct dimension/position for selection bar for single slider with showSelectionBarEnd=true', function() {
@@ -1158,8 +1158,8 @@
11581158
}
11591159
};
11601160
helper.createSlider(sliderConf);
1161-
var expectedDimension = helper.slider.valueToPosition(15),
1162-
expectedPosition = helper.slider.valueToPosition(15) + helper.slider.handleHalfDim;
1161+
var expectedDimension = Math.round(helper.slider.valueToPosition(15)),
1162+
expectedPosition = Math.round(helper.slider.valueToPosition(15)) + helper.slider.handleHalfDim;
11631163
expect(helper.slider.selBar.css('width')).to.equal(expectedDimension + 'px');
11641164
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
11651165
});
@@ -1175,9 +1175,9 @@
11751175
}
11761176
};
11771177
helper.createSlider(sliderConf);
1178-
var expectedDimension = Math.floor(helper.slider.valueToPosition(13)),
1179-
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width),
1180-
expectedPosition = helper.slider.valueToPosition(10) + helper.slider.handleHalfDim;
1178+
var expectedDimension = Math.round(helper.slider.valueToPosition(13)),
1179+
actualDimension = helper.slider.selBar[0].getBoundingClientRect().width,
1180+
expectedPosition = Math.round(helper.slider.valueToPosition(10)) + helper.slider.handleHalfDim;
11811181
expect(actualDimension).to.equal(expectedDimension);
11821182
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
11831183
});
@@ -1217,11 +1217,11 @@
12171217
};
12181218
helper.createRangeSlider(sliderConf);
12191219

1220-
var expectedDimension = Math.floor(helper.slider.valueToPosition(6)),
1221-
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
1220+
var expectedDimension = Math.round(helper.slider.valueToPosition(6)),
1221+
actualDimension = helper.slider.selBar[0].getBoundingClientRect().width;
12221222
expect(actualDimension).to.equal(expectedDimension);
12231223

1224-
var expectedPosition = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
1224+
var expectedPosition = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
12251225
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
12261226
});
12271227

0 commit comments

Comments
 (0)