Не часто, но бывает, что мы сталкиваемся с такими жизненными ситуациями, когда простые и общепринятые фразы будут сразу восприниматься шаблонно и ожидаемо! Это большой плюс в том плане, когда мы хотим донести именно тот самый шаблон, если он соответствует действительности. Например, если мы скажем, что огурец зеленый и все, не подразумевая под этим более глубоких причин возникновения его "зелёности". Однако если эти самые причины потребуют объяснения их происхождения для обывателя, то придется уже изворачиваться и предметно рассказывать о дыхании растений, об образовании хлорофилла и о чем-то таком в этом роде...

Глубину осознания происходящего каждый поймет по своему. Ведь для художника зеленый огурец так и останется зеленым, так как это цвет огурца и ничего более, а для биолога он поведает о том, что все-таки в растении происходили те типовые и изученные процессы, которые они изучал еще в школе. Так вот, тема статьи вроде как полностью вторит той, о чем я уже писал, об изменении стилей с помощью Java Script. Так может показаться и визуально если не знать того, что же там "внутри огурца".  А по мне так, здесь я опишу нечто иное, что станет новой вехой в стилях, так как изменение будет не столь наглядным в коде (там не будут писаться непосредственно стили), а я бы сказал станет инжекционным в файл стилей. То есть меняя стили мы пишем стили не в самом Ява скрипте, а ссылаемся на стили, который подменяются скажем в CSS шаблона. Тем самым мы получаем новое визуальное оформление, но по другому принципу... Все, здесь я умолкаю лишь потому, что вся моя болтовня сродни первой фразе статьи. Когда я начинал говорить о чем-то известном, я подразумевал другое. Кто-то понял, а кто-то нет!  Тут уже не важно, я ли был глуп и не имел достаточного опыта и понимания, что не смог донести важного, либо мои оппоненты  не в состоянии оценить происходящее, далее хорошего ничего не выйдет... Поэтому перехожу к конкретным примерам и описанию.

Пример подмены стилей

 

 

Смотрим код.

Оценив код можно понять, что "подмена понятий" происходит уже не в самом Ява скрипт, как было в той самой статье о которой я писал выше, а в самих стилях, где прописан один вариант для одного случая и другой для другого. Именно поэтому это и стало причиной того, что эту статью я написал отдельно.

P.S. Здесь надо еще упомянуть о возможности менять стили и вовсе без Ява скрипта, за счет внутренних ресурсов браузера, скажем прописывая hover в стилях, но это опять же уже совсем другой материал и другой смысл (надо писать об этом в материале про CSS) и лепить все в одно мне не хотелось бы, ведь не смотря на то, что огурец зеленый, для каждого он зеленый по разному.

Такой код можно активно использовать для построения меню сайта, когда наводим на элемент и появляется окно с опциями.