jQuery метод .show()

Определение и применение

jQuery метод .show() позволяет отобразить скрытые выбранные элементы. Для того, чтобы скрыть выбранные элементы вы можете воспользоваться методом .hide().

jQuery синтаксис:

Синтаксис 1.0:

JavaScript
$( selector ).show() // метод используется без параметров

$( selector ).show( duration, complete )

duration - Number, или String

complete - Function

JavaScript
$( selector ).show( { options } ) // option: value (описание ниже)

options - PlainObject

Синтаксис 1.4.3:

JavaScript
$( selector ).show( duration, easing, complete )

duration - Number, или String

easing - String

complete - Function

Добавлен в версии jQuery

1.0 (синтаксис обновлен в версии 1.4)

Значения параметров

Параметр Описание
duration Строковое или числовое значение, которое определяет, как долго анимация будет продолжаться. Значение по умолчанию 400 (в миллисекундах). Строковые ключевые слова 'fast' и 'slow' соответствуют 200 и 600 миллисекундам соответственно (высокие значения указывают на медленную анимацию, а более низкие на быструю).
easing Ключевое слово (строка), которое опряеделяет кривую скорости для анимации (используется математическая функция - кубическая кривая Безье). Без использования внешних плагинов имеет только два значения - linear (эффект анимации с одинаковой скоростью от начала до конца) и swing (эффект анимации имеет медленный старт и медленное окончание, но скорость увеличивается в середине анимации). Значение по умолчанию swing.
complete Функция, которая будет выполнена после завершения анимации, она вызывается один раз для каждого соответствующего элемента. Внутри функции, переменная this ссылается на DOM элемент к которому применяется анимация.
options
  • duration (по умолчанию: 400).
    Тип: Number, или String.
    Строковое или числовое значение, которое определяет, как долго анимация будет продолжаться (смотри выше).
  • easing (по умолчанию: swing).
    Тип: String.
    Ключевое слово (строка), которое определяет кривую скорости для анимации (смотри выше).
  • queue (по умолчанию: true).
    Тип: Boolean, или String.
    Логическое значение, которое указывает следует ли размещать анимацию в очереди эффектов. Если указано false, то анимация начнется сразу же. С версии jQuery 1.7 опция queue также может принимать строку, в этом случае анимация будет добавлена к очереди, представленной этой строкой. Когда используется пользовательское имя очереди анимации, то она не запускается автоматически, вы должны при этом использовать метод .dequeue( "имя очереди" ), чтобы запустить её.
  • specialEasing.
    Тип: PlainObject.
    Объект, содержащий одно или несколько свойств CSS, определенных параметром свойства и соответствующие им функции замедления. Добавлено в версии 1.4.
  • step.
    Тип: Function( Number now, Tween tween ).
    Функция вызывается для каждого анимируемого свойства каждого анимированного элемента. Эта функция дает возможность изменять Tween Object, чтобы изменить значение свойства, прежде чем оно будет установлено.
  • progress.
    Тип: Function.
    Функция, которая будет вызываться после каждого шага анимации, только один раз для каждого анимированного элемента, независимо от количества анимированных свойств. Добавлено в версии 1.8.
  • complete.
    Тип: Function.
    Функция (callback), которая будет выполнена после завершения анимации, она вызывается один раз для каждого соответствующего элемента (смотри выше).
  • start.
    Тип: Function (Promise Object animation).
    Функция, вызывается, когда анимация элемента начинается. Добавлено в версии 1.8.
  • done.
    Тип: Function (Promise Object animation, Boolean jumpedToEnd).
    Функция вызывается, когда анимация элемента завершается. Добавлено в версии 1.8.
  • fail.
    Тип: Function (Promise Object animation, Boolean jumpedToEnd).
    Функция вызывается, когда анимацию элемента не удается завершить. Добавлено в версии 1.8.
  • always.
    Тип: Function (Promise Object animation, Boolean jumpedToEnd).
    Функция вызывается, когда анимация элемента завершается или останавливается незавершенной. Добавлено в версии 1.8.

Пример использования

Пример использования jQuery методов .hide() и .show() (без параметров)

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.

index.html
HTML
<button class="hide">Скрыть</button><button class="show">Показать</button>
<p>Первый абзац</p>
<p>Второй абзац</p>
<p>Третий абзац</p>
main.js
JavaScript
$(document).ready(function () {
    $('.hide').click(function () {
        $('p').hide()
    })
    $('.show').click(function () {
        $('p').show()
    })
})

В этом примере с использованием jQuery методов .hide() и .show() мы при нажатии на определенную кнопку скрываем, либо отображаем все элементы <p> в документе.

Рассмотрим следующий пример в котором зададим методам .hide() и .show() различные значения продолжительности анимации:

Пример использования jQuery метода .hide() и .show() (различная скорость анимации)

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.

index.html
HTML
<button class="hide">Скрыть</button><button class="show">Показать</button>
<p>Первый абзац</p>
<p>Второй абзац</p>
<p>Третий абзац</p>
main.js
JavaScript
$(document).ready(function () {
    $('.hide').click(function () {
        $('p:first').hide('slow')
        $('p:nth-of-type(2)').hide(2000)
        $('p:last').hide('fast')
    })
    $('.show').click(function () {
        $('p:first').show('slow')
        $('p:nth-of-type(2)').show(2000)
        $('p:last').show('fast')
    })
})

В этом примере с использованием jQuery методов .hide() и .show() мы при нажатии на определенную кнопку скрываем, либо отображаем все элементы <p> в документе. При этом первый элемент <p> скрывается, или отображается за 600 миллисекунд (ключевое слово 'slow'), второй элемент за 2000 миллисекунд, а третитй за 200 миллисекунд (ключевое слово 'fast').

Рассмотрим следующий пример в котором зададим методам .hide() и .show() не только продолжительность анимации, но и укажем скорость анимации и функцию, которая будет выполнена после завершения анимации:

Пример использования jQuery метода .hide() и .show() (с callback функцией)

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.

index.html
HTML
<button class="hide">Скрыть</button><button class="show">Показать</button>
<p>Первый абзац</p>
<p>Второй абзац</p>
<p>Третий абзац</p>
<div class="status"></div>
main.js
JavaScript
$(document).ready(function () {
    $('.hide').click(function () {
        $('p').hide(500, 'linear', function () {
            $('.status').text('Элементы исчезли')
        })
    })
    $('.show').click(function () {
        $('p').show(500, 'linear', function () {
            $('.status').text('Элементы появились')
        })
    })
})

В этом примере с использованием jQuery методов .hide() и .show() мы при нажатии на определенную кнопку скрываем, либо отображаем все элементы <p> в документе. При этом мы указали для наших методов продолжительность анимации равную пол секунды (500 миллисекунд), эффект анимации происходит с одинаковой скоростью от начала до конца (linear) и функцию, которая после завершения анимации находит элемент с классом status и добавляет текстовую информацию (jQuery метод .text()).

Рассмотрим следующий пример в котором передадим в качестве параметра методов .hide() и .show() объект, содержащий различные опции, которые будут контролировать анимацию:

Пример использования jQuery метода .hide() и .show() (объект с опциями в качестве параметра)

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.

index.html
HTML
<button class="hide">Скрыть</button><button class="show">Показать</button>
<p>Первый абзац</p>
<p>Второй абзац</p>
<p>Третий абзац</p>
<div class="status"></div>
main.js
JavaScript
$(document).ready(function () {
    $('.hide').click(function () {
        $('p').hide({
            duration: 800,
            easing: 'linear',
            complete: function () {
                $('.status').text('Элементы исчезли')
            },
            queue: false,
        })
    })
    $('.show').click(function () {
        $('p').show({
            duration: 800,
            easing: 'linear',
            complete: function () {
                $('.status').text('Элементы появились')
            },
            queue: false,
        })
    })
})

В этом примере с использованием jQuery методов .hide() и .show() мы при нажатии на определенную кнопку скрываем, либо отображаем все элементы <p> в документе. При этом мы в качестве параметров метода передаем объект содержащий следующие параметры:

  • продолжительность анимации равную 800 миллисекунд (duration: 800)
  • эффект анимации происходит с одинаковой скоростью от начала до конца (easing: linear)
  • функция, которая после завершения анимации находит элемент с классом status и добавляет текстовую информацию (complete: function).
  • анимация не размещается в очереди эффектов (queue: false).