現在、いくつかの変数を定義するこのようなブロックがあります
var slider_1 = document.querySelector('#slider_1');
var slider_2 = document.querySelector('#slider_2');
...
そして、次のような ID を取る func は次のとおりです。
function updateFromInput(id){
if(id==1){
var x = input_1.value*1;
x = Math.round((x*ratio)-offset);
slider_1.x.baseVal.value = x/scale;
}else if(id==2){
var x = input_2.value*1;
x = Math.round((x*ratio)-offset);
slider_2.x.baseVal.value = x/scale;
}
};
私は少しリファクタリングしようとしています。
代わりに、変数をアンダースコアではなくドットでインスタンス化できればと考えています
var slider.1 = document.querySelector('#slider_1');
var slider.2 = document.querySelector('#slider_2');
そうすれば、既に func に渡されている ID をより有効に活用し、大量の重複を排除することができます。それぞれの IF/ELSE 条件でそのコードを使用するのではなく
、単一の呼び出しのようなもので funcs を簡素化することを望んでいました。slider.id.x.baseVal.value = x/scale;
それを試してみると、「 Uncaught SyntaxError: Unexpected number 」というエラーが表示されます。
これはどのように行うべきですか?