Waldemar1010, отлично :)
Запомните эти 4,5 правила и с this проблем не будет. Ну а стрелочные функции грубо говоря берут тот this, который был в момент их создания. Чтобы в Вашем случае this не терять, возьмите функцию обработчик и сделайте ей .bind(this), например так можно обойти проблему.
anvarik2, тогда надо разрабатывать, и тут вариантов... css 3d трансформации, js three.js geometry, mesh materials, просто видео вставить на страницу и тд и тп
edward_freedom, спасибо, за замечание, дельное, но я правда все это учел, когда писал ответ, он поможет, если человек поймет его суть, и в любой похожей ситуации сможет разобраться. Я знаю, что Хабр QA движется в поисковиках, учитываю при написании ответа.
edward_freedom, да, я понял о чем речь, я думал об этом тоже, и суть такая, что этот вопрос без описания вопроса (без кода) тоже из гугла не понять, правда? Посмотрите на заголовок: "Почему выдает ошибку item.indexOf is not a function?", если кто-то такое будет гуглить, то надо в любом случае открывать ссылку. С другой стороны, если человек гуглит такой же вопрос, то такой вопрос ВСЕГДА решается через мой вопрос, правда? Если получаете, что что-то not a function, значит при любых раскладах надо смотреть, что, какой тип данных в этой переменной, согласны? Получается, что мой вопрос, это самый первый вопрос, который человек должен себе задать, когда ищет причину ошибки -> следовательно мой вопрос и есть ответ)
edward_freedom, ну Вы же сами видите, что все очевидно, ошибка простая, и этот вопрос, который я написал, по сути и есть ответ, потому что подумав над ним минутку ответ становится очевидным. Если человек пишет код и совсем не понимает, что пишет, то даже если я за него код напишу, который будет работать, ему это не поможет. Да, скопирует-вставит и заработает, но толку 0, потому что я и так это мог написать, мне оно не надо, и человеку толком не помог, а оказал "медвежью услугу". Вам же никто не мешал написать ответ в таком виде, как Вы считаете нужным и правильным :)