tôi sử dụng cho thanh trượt logarit mã này jquery UI:jquery UI Slider Logarithmic quy mô
var minVal = 10; var maxVal = 100; $("#slider").slider({
range: true,
min: minVal,
max: maxVal/2,
values: [ minVal, maxVal ],
slide: function(event, ui) {
$("#amount_min").val(Number(expon(ui.values[ 0 ], minVal, maxVal)).toFixed(0));
$("#amount_max").val(Number(expon(ui.values[ 1 ], minVal, maxVal)).toFixed(0));
}
});
Chức năng expon là:
function expon(val, min,max)
{
var minv = Math.log(min);
var maxv = Math.log(max);
max = max/2;
// calculate adjustment factor
var scale = (maxv-minv)/(max-min);
return Math.exp(minv + scale*(val-min));
}
Và #amount_min và #amount_max là những yếu tố đầu vào html. Đoạn mã trên chỉ hoạt động tốt để lấy các giá trị từ thanh trượt và đặt nó vào các phần tử đầu vào.
Nhưng bây giờ tôi cần hàm ngược lại với hàm expon() - để thay đổi thanh trượt khi tôi thay đổi giá trị của đầu vào. Ai có thể giúp tôi với điều này?
bạn đã bao giờ tìm ra điều này chưa? – Homan
yep:) ... đã nhận được hoạt động –
bản sao có thể có của [Thanh trượt giao diện người dùng JQuery với các bước phi tuyến tính/số mũ/lôgarit] (http://stackoverflow.com/questions/7484695/jquery-ui-slider-with-non -xác-số-lô-số-log-bước-số) – gaitat