https://codepen.io/ophello/pen/BaNaPdp?editors=0010
У меня есть ползунок jquery .ui, настроенный с двумя дескрипторами одновременно, и реализация смещения, которая позволяет им сталкиваться друг с другом и pu sh каждый прочее.
Но, если быстро перевести мышь на один конец с помощью обоих ползунков, последние записанные значения застрянут на любом значении, которое было, когда мышь выходит из диапазона. Как это исправить?
Это код для обработки коллизий:
if (ui.values[0] >= ui.values[1]) {
if ($(ui.handle).index() == 0) { // if the left handle is being dragged
ui.values[0] = ui.value + offset;
ui.values[1] = ui.value + offset + 1;
$(this).slider("values", 1, ui.value + 1 + offset * 2);
} else {
ui.values[0] = ui.value - offset - 1;
ui.values[1] = ui.value - offset;
$(this).slider("values", 0, ui.value - 1 - offset * 2);
}
}
И это предотвращает коллизии дескрипторов, когда одно из значений максимально:
if (ui.values[0] < 1 && ui.values[1] < 1) {
ui.values[0] = 0; // why doesn't this work at high speeds?
ui.values[1] = 1; // why doesn't this work at high speeds?
$(this).slider("values", 1, 1 + offset);
return false;
} else if (ui.values[0] > yMax - 1 && ui.values[1] > yMax) {
ui.values[0] = yMax - 1; // why doesn't this work at high speeds?
ui.values[1] = yMax; // why doesn't this work at high speeds?
$(this).slider("values", 0, yMax - 1 - offset);
return false;
}
Я не могу получить окончательные значения ползунка, чтобы сбросить их до минимальных значений! Когда вы быстро сдвинете оба ползунка вправо или влево, значения должны быть равны sh при 0-1 или 99-100. Но вы получите случайные результаты, если вы сделаете это быстро.