Что делает JQuery с <div>, когда вы устанавливаете его для скрытия? - PullRequest
5 голосов
/ 03 июня 2010

Мне было интересно, что JQuery на самом деле делает с <div>, когда вы устанавливаете его для скрытия?

Он просто устанавливает свой стиль отображения CSS на none?

Причина, по которой я спрашиваю, я хотел установить <div> для первоначального скрытия (установив свойство вручную, а не вызывая .hide), затем используйте .show (), чтобы отобразить его при необходимости.

Ответы [ 4 ]

9 голосов
/ 03 июня 2010

Устанавливается на display: none, хотя и требуется дополнительная работа, это общий эффект.

Если у вас есть <div style="display: none;">, то .show() покажет его:)

Вот небольшая демонстрация, показывающая это

Если вам более любопытно, что именно точно произойдет, вы всегда можете посмотреть непосредственно на источник :) Здесь можно увидеть внутреннюю работу функции .hide(): http://github.com/jquery/jquery/blob/master/src/effects.js#L59

Основное различие между .hide() / .show() и .css('display':'whatever'), например, заключается в том, что .show() восстанавливает предыдущее значение display (или очищает его, так что по умолчанию оно никогда скрытый с .hide()), вместо того, чтобы просто выбрать новый:)

3 голосов
/ 03 июня 2010

Согласно JQuery API со скоростью, установленной на ноль, да

В противном случае, когда будет выполнено следующее (также из документации API ):

When a duration is provided, .hide() becomes an animation method. 
The .hide() method animates the width, height, and opacity of the 
matched elements simultaneously. When these properties reach 0,
the display style property is set to none to ensure that the element
no longer affects the layout of the page.
0 голосов
/ 03 июня 2010

Он просто устанавливает отображение CSS стиля нет?

Да , вот что он делает, например, устанавливает:

display: none;
0 голосов
/ 03 июня 2010

.hide () применяет display: none к стилю элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...