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

Ссылка скопирована
1 ответ

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

  • добавить класс hide со значением display:none
  • у самого блока samlpe поменять display:none

Как лучше?

Дополнительно:

Лучше/оптимальнее для чего?

  • скорости работы
  • Блоков может быть множество
  • Сергей Ракипов, Если говорить о скорости выполнения, то, во-первых, это преждевременная оптимизация, во-вторых, экономия на спичках. Так что тут абсолютно пофигу, какой вариант будет выбран.

    Кстати, помимо этих двух, если еще способ с присвоением атрибута hidden.
    myBlock.hidden = true;

  • Сергей Ракипов в таком случае следует сначала реализовать оба варианта и затем провести нужные вам тесты скорости работы для каждого.
  • VoidVolker, а посоветуйте сервис где можно по смотреть скорость и главное что бы так все было понятно.
  • Сергей Ракипов, вы серьезно? там разница будет в миллисекундах на десятках тысячах элементов.
    Если у вас их будет "множество", ну пусть сотня, то разницы вы никак не заметите.
  • Сергей delphinpro, Представляешь, да есть такие люди которые не знают, для этого сюда заходят и спрашивают. Вот это да.
    Как ты живешь в это удивительном мире что кто это этого не знает. Просто пиз...
  • Сергей Ракипов https://jsperf.app/
    Сергей delphinpro ой да ладно, хочется человеку поиграться - пускай играется ) Получит какой-то опыт, особенно в замере скорости решений, возможно в будущем сможет применить его на чем-то действительно важном.
  • VoidVolker, ну тогда ему нужно самому учиться замерять тайминги https://developer.mozilla.org/en-US/docs/Web/API/P...
    а не волшебные сервисы искать =)
  • Сергей Ракипов, а вам я сразу написал, что дроч на скорость в данном случае не имеет смысла. Вы читайте комментарии, которые вам пишут.
  • Ответы:

    Если блок изначально должен/может быть скрыт, лучше вообще не добавлять его.

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

    Если после скрытия блока, не предполагается его показывать, удали его, а не скрывай.

    скорости работы

    Изменение класса быстрее (замеры проводили, можете воспроизвести)

    С применением класса будет более гибкий вариант. Если понадобиться программно скрыть/показать элемент, то при помощи класса это будет сделать проще как для одного элемента, так и для группы. Если в будущем надо будет изменить поведение, вместо исчезновения, например, сделать прозрачным, то достаточно подправить класс и не лезть править js.

    Насколько я помню, лучшей практикой считается, в данном случае добавить класс "hide", и туда прописать display:none; overflow:hidden; width: 0; height:0;
    А потом тоглить класс hide, поскольку основной класс ты можешь использовать где нибудь еще, и забыть про то, что он у тебя меняет display, а hide класс говорящий и специально так не назовешь

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Максим Павлов Ответ

    Для подсветки синтаксиса всех языков программирования на сайте stackoverflow.com, более оптимальным вариантом будет использование тега

     для каждого блока кода. Этот тег позволяет указать язык программирования, на котором написан код, что облегчает понимание и чтение кода другим пользователям.
     
    Преимущества использования тега <pre> включают в себя:
    1. Явное указание языка программирования: благодаря этому другие пользователи сразу понимают, на каком языке написан код и могут лучше его понять.
    2. Поддержка всех языков программирования: тег <pre lang="php"> поддерживает все языки программирования, поэтому вы можете использовать его для любого типа кода.
    3. Удобство чтения: благодаря подсветке синтаксиса код становится более читаемым и понятным для других пользователей.
     
    Пример использования тега <pre> для подсветки синтаксиса PHP:
     
    <pre lang="php">

    для каждого блока кода. Этот тег позволяет указать язык программирования, на котором написан код, что облегчает понимание и чтение кода другим пользователям. Преимущества использования тега <pre> включают в себя: 1. Явное указание языка программирования: благодаря этому другие пользователи сразу понимают, на каком языке написан код и могут лучше его понять. 2. Поддержка всех языков программирования: тег <pre lang="php"> поддерживает все языки программирования, поэтому вы можете использовать его для любого типа кода. 3. Удобство чтения: благодаря подсветке синтаксиса код становится более читаемым и понятным для других пользователей. Пример использования тега <pre> для подсветки синтаксиса PHP: <pre lang="php">

    Таким образом, для более оптимального отображения кода на сайте stackoverflow.com рекомендуется использовать тег

     для каждого блока кода на соответствующем языке программирования.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно