если на блоке висит ограничение ширины и magrin 0 auto, то я на 99% вангую, что он не будет "body-width", а будет конкретно заданных размеров. обычно подобный блок называют просто container
я не считаю, что могу считаться источником безоговорочной истины. Да и сам по себе БЭМ - это скорее набор рекомендаций, чем строгих правил. Выглядит логично и правильно, другое дело, что я не совсем согласен, возможно, с версткой блока телефона и цены, но я даже не знаю, что должно получиться в итоге и какое у вас в команде, если есть команда, соглашение о наименованиях, и вообще это совсем другая история... Кроме всего прочего важно не только то, как Вы назовете классы, но и какие стили на них будут висеть. Я сам в данный момент на проекте без БЭМа, потому врядли могу оценивать тк мог что-то и забыть. Мой единственный совет - не пожалейте пару часов прочитать доку и в результате вы и самому себе сможете ответить правильно или нет и другим подсказать.
OWIII, Array.from должен работать сейчас во всех браузерах, кроме IE. Переписал код пен (доступен по той же ссылке) на использование Array.prototype.slice.call и тоже все работает - это должно работать прям во всех браузерах. Кроме Array.prototype.slice.call можно попробовать еще использовать var arr = [].slice.call(htmlCollection); или var arr = [...htmlCollection]; и эффект должен быть тот же.
Если возникают какие то ошибки при работе с Array.prototype.slice.call, то тут уже проблема скорее всего не в Array.from, а где то в другом месте и надо смотреть и разбираться.
Вова Будняк, давай так... С переменными у нас не очень заходит, попробуем иначе. Вот есть разбор похожей проблемы с рабочим решением. Только там не стартовый слайд, а другая опция переопределяется с помощью дата атрибута. Попробуй повторить эту реализацию, потому что судя по всему без песочницы тут действительно не разобраться.
Вова Будняк, попробуйте не передавать x в колбэк клика - он его и так отлично найдет. когда передается аргументом другой x, то это уже совсем другая переменная.
Вова Будняк, вот простой пример, где видно, что переменная изменяется. Если в Вашем случае этого не происходит, то скорее всего что то еще пошло не так. если есть возможность - предоставте пожалуйста обновленный код и посмотрим, в чем проблема.