Whiled0S
@Whiled0S
Lazy frontend

Как правильно записать название css-свойства в переменную?

nextSlide() {
        if (this._slideNumber < this._slideCount) {
            if ('webkitTransform' in document.body.style) {
                this._wrapper.style.webkitTransform = `translateX(-${this._slideNumber * 100}%)`;
            } else if ('MozTransform' in document.body.style) {
                this._wrapper.style.transform = `translateX(-${this._slideNumber * 100}%)`;
            } else {
                this._wrapper.style.transform = `translateX(-${this._slideNumber * 100}%)`;
            }
            this._slideNumber++;


Есть такой метод, еще есть пара аналогичных, но дело в том, что при их вызове постоянно идет проверка на, так сказать, поддержку браузером webkitTransform или mozTransform, хотелось бы сделать так, чтобы до вызова в какую-то переменную было записано уже нужное css-свойство и в методе оно же и указывалось. Пробовал делать изначально проверку, присваивал в разных случаях переменной bTransform нужное css-свойство, к примеру bTransform = "webkitTransform"; далее я передавал эту переменную в аргументы метода, в самом методе брал переданный аргумент и подставлял на место, где должно быть свойство, но это не работало. Подозреваю, что дело в том, что он это воспринимает как строку, но выхода пока не придумал. Нужно для того, чтобы улучшить читаемость кода и избежать повторных проверок по куче раз.
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы