sergei2210
@sergei2210
Кратко о себе

Как будет более оптимально?

Есть блок с классом samlpe, у него display:block
Я хочу с помощью JS скрыть его при наведении и у меня два способа:
  • добавить класс hide со значением display:none
  • у самого блока samlpe поменять display:none


Как лучше?
  • Вопрос задан
  • 768 просмотров
Пригласить эксперта
Ответы на вопрос 4
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
Если блок изначально должен/может быть скрыт, лучше вообще не добавлять его.

Конечно класс добавлять, его можно переиспользовать, как и функционал добавления этого класса вынести в отдельную js функцию. - чтобы можно было скрывать любой блок при вызове функции.

Если после скрытия блока, не предполагается его показывать, удали его, а не скрывай.
Ответ написан
Комментировать
vhood
@vhood
Не забывайте отмечать решения
скорости работы

Изменение класса быстрее (замеры проводили, можете воспроизвести)
Ответ написан
Комментировать
@russeljo
С применением класса будет более гибкий вариант. Если понадобиться программно скрыть/показать элемент, то при помощи класса это будет сделать проще как для одного элемента, так и для группы. Если в будущем надо будет изменить поведение, вместо исчезновения, например, сделать прозрачным, то достаточно подправить класс и не лезть править js.
Ответ написан
Комментировать
belirofon
@belirofon
Full- stack nodejs
Насколько я помню, лучшей практикой считается, в данном случае добавить класс "hide", и туда прописать display:none; overflow:hidden; width: 0; height:0;
А потом тоглить класс hide, поскольку основной класс ты можешь использовать где нибудь еще, и забыть про то, что он у тебя меняет display, а hide класс говорящий и специально так не назовешь
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы