私は Javascript と JQuery を初めて使用します。JQuery UI Slider を使用して、サイトの 1 つの価格範囲ドロップダウン ボックス (最低価格用、最高価格用) を置き換えようとしています。
これが私の現在のコードです:
$(function() {
var slider = $( "#slider-range" ).slider({
range: true,
min: 0,
max: 2500000,
step: 1000,
values: [ 0, 2500000 ],
slide: function( event, ui ) {
$( "#amount" ).val( "RM " + commafy(ui.values[ 0 ]) + " to RM " + commafy(ui.values[ 1 ]) );
}
});
$( "#amount" ).val( "RM " + commafy($( "#slider-range" ).slider( "values", 0 )) +
" to RM " + commafy($( "#slider-range" ).slider( "values", 1 )) );
function commafy(val) {
return String(val).split("").reverse().join("")
.replace(/(.{3}\B)/g, "$1,")
.split("").reverse().join("");
}
});
価格帯は 0 ~ 2500,000 です。テストの結果、私のサイトのほとんどのユーザーは 25,000 から 200,000 の範囲で検索するため、スライダーが非線形にスケーリングされると、UX が向上することがわかりました。
スライダーの非常に小さな部分に 0 ~ 25000 の範囲が表示され、その 70% が 25,000 ~ 200,000 を示し、残りが 200,000 以上を示す必要があります。固定値にスナップしたくありませんが、ステップは 1000 でなければなりません。
このサイトで 2 つの解決策を見つけ
ました。
2)JQuery Slider、「ステップ」サイズを変更する方法<-男がソリューションの一部としてtruevaluesとvaluesを使い始めた後、頭も尻尾も作れません。コードに適用しようとしましたが、スライダーは正常に動作しますが (私の好みでは最後に向かって速く移動しましたが)、テキストは表示されませんでした。
何か案は?