我在时间范围内使用的滑块有一个小问题。
当我移动其中一个处理程序然后第二个处理程序时,第一个处理程序会稍微改变它的值。 (在我的情况下5分钟)
这是我的代码
function slideTime(event, ui){
var minutes0 = parseInt($("#slider_range").slider("values", 0) % 60);
var hours0 = parseInt($("#slider_range").slider("values", 0) / 60 % 24);
var minutes1 = parseInt($("#slider_range").slider("values", 1) % 60);
var hours1 = parseInt($("#slider_range").slider("values", 1) / 60 % 24);
$("#log_times_from").val(getTime(hours0, minutes0));
$("#log_times_to").val(getTime(hours1, minutes1));
}
function getTime(hours, minutes) {
var time = null;
minutes = minutes + "";
if (minutes.length == 1) {
minutes = "0" + minutes;
}
return hours + ":" + minutes;
}
slideTime();
$(document).ready(function() {
$("#slider_range").slider({
range: true,
min: 0,
max: 1439,
values: [540, 1020],
step:5,
slide: slideTime
});
})
当我移动另一个时,任何有关处理程序移动的想法?
答案 0 :(得分:1)
我发现它,通过将它与范围滑块
的jquery UI文档中的代码进行比较这解决了这个问题。我使用ui.values而不是每次都选择id
function slideTime(event, ui){
var minutes0 = parseInt(ui.values[ 0 ] % 60);
var hours0 = parseInt(ui.values[ 0 ] / 60 % 24);
var minutes1 = parseInt(ui.values[ 1 ] % 60);
var hours1 = parseInt(ui.values[ 1 ] / 60 % 24);
$("#log_times_from").val(getTime(hours0, minutes0));
$("#log_times_to").val(getTime(hours1, minutes1));
$("#time").text(getTime(hours0, minutes0) + ' - ' + getTime(hours1, minutes1));
$("#time1").text(getTime(hours0, minutes0) + ' - ' + getTime(hours1, minutes1));
}
function getTime(hours, minutes) {
var time = null;
minutes = minutes + "";
if (minutes.length == 1) {
minutes = "0" + minutes;
}
return hours + ":" + minutes;
}
$(document).ready(function() {
$("#slider_range").slider({
range: true,
min: 0,
max: 1439,
values: [540, 1020],
step:5,
slide: slideTime
});
})