[imagen][1] [1]: https://i.stack.imgur.com/W7bNt.png
Ahora mismo funciona así:
1- cuando el índice 0 de la clave hace esto, 2- cuando el índice 1 de la clave hace esto, 3- cuando el índice 2 de la clave hace esto.
pero quiero agregar el valor mínimo y máximo para la matriz objectVal que puede arreglar (para la clave de posición [min], n, key [max]) pero los valores enésimos en el medio, como si pudiera agregar nuevas claves y valores en el control deslizante dinámicamente en lugar de llamar sus índices y añadiendo nuevos operadores condicionales.
const sliders = document.querySelectorAll(".allSliders"); let result = document.querySelector(".result"); let totalNumber = 0; let values = []; let sliderNums = []; let objectVal = [ { keys: [0, 500,1000], values: [0.0045, 0.0044,0.0043] }, { keys: [0, 500,1000], values: [0.0045, 0.0044,0.0043] }, { keys: [0, 500,1000], values: [0.0045, 0.0044,0.0043] }, ]; sliders.forEach((sliderNumber, id) => { sliderNumber.addEventListener("input", () => { let action = objectVal[id].keys[3] - objectVal[id].keys[3]; let maxLine = objectVal[id].keys[3] + action; let getInformation = maxLine - action * 0.666; sliderNumber.setAttribute("max", maxLine); let currentRange = parseInt(sliderNumber.value); sliderNums[id] = currentRange; function line(value, currentVal, obj) { values[id] = currentVal * obj; sliderNumber.nextElementSibling.querySelector( ".tooltiptext" ).textContent = `(${currentVal} * ${obj})`; sliderNumber.nextElementSibling.querySelector(".dollar").textContent = values[id].toFixed(2); } if ( currentRange > objectVal[id].keys[0] && currentRange <= objectVal[id].keys[3] ) { line(values[id], currentRange, objectVal[id].values[0]) } else if ( currentRange > objectVal[id].keys[3] && currentRange <= objectVal[id].keys[3] ) { line(values[id], currentRange, objectVal[id].values[3]) } else { line(values[id], currentRange, objectVal[id].values[3]) }```