https://codepen.io/pen/
На просторах гугла достаточно много различный решений данной ошибки, но то, что мне нужно так и нашлось. Проблема в том, что есть функция, которая должна переиспользоватся несколько раз с изменение аргументов для параметров функции, дабы избежать повторного написания одного и того же кода.
В качестве параметров выступают левое и правое значение input range, а так же диапозон между ними, который функция должна высчитывать автоматически, в следствии чего, он будет выделен синим, как в коде прописано.
Я передала параметры для функции по дефолту, куда будут переданы позже как аргументы значения sliderLeft, sliderRight, sliderRange. На сколько я понимаю, из-за чего возникает ошибка "Cannot read properties of undefined", так это из-за разных областей видимости, поскольку функция changeRangeWidth() вызывается в другой функции.
С другой стороны, когда я убираю параметры, а сразу в функцию передаю переменные, которые находятся в общей области видимости, то все работает без ошибок.
Дайте подсказку, пожалуйста, как можно адекватно решить такую проблему, тем самым не писать лишний код?
function changeRangeWidth() {
let pointLeft = parseInt(sliderLeft.min) + parseInt(sliderLeft.value);
let pointRight = parseInt(sliderRight.min) + parseInt(sliderRight.value);
let width = parseInt(pointRight) - parseInt(pointLeft);
sliderRange.style.width = width + '%';
}