Где дублирование? Этот вопрос задан с уточнением того, что именно не получается. Со скриптом разобрался но не до конца, пробовал работать с .scrollTo() но ничего не вышло. Я ведь не прошу написать кода за меня, а просто подсказать с помощью каких методов/событий это делается. Попроще не получится, задача стоит.
Покопался в JS коде данного сайта, примерно разобрался. Но не получается запустить смену позиции этого блока при прокрутке до определенного элемента. Можете подсказать какие для этого методы используются?
С БЭМ знаком плохо. Он ведь тоже преследует сохранение смысла элемента? В таком случае все равно придется указывать разные имена классов, например:
.b-news > .b-news_items > .b-item > .b-item_preview
.b-books> .b-books_items > .b-item > .b-item_preview
Если я ошибаюсь, поправьте.