つまり、選べる値は2,4,8,16,32,64,128,256,512,1024とする。
<div class="ui-field-contain" id = "sliderdiv">
<label for="slider">値</label>
<input id="slider" type="range" min="2" max="1024" step="1" value=2/>
</div>
<script>
var keys = [2,4,8,16,32,64,128,256,512,1024];
var keys_length =keys.length;
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
var tmpvalue = $("#slider").val();
for(var n=0;n<keys_length;n++)
{
if(tmpvalue<=keys[n])
{
break;
}
}
if((keys[n]+keys[n+1])/2<tmpvalue)
{
$("#slider").val(keys[n+1]);
}
else {
$("#slider").val(keys[n]);
}
if($("#slider").val()!=tmpvalue)//これ書いておかないと無限に処理を繰り返してしまう
{
$("#slider").slider('refresh');
}
})
})
</script>
0 件のコメント:
コメントを投稿