jQuery метод .slideDown()
Определение и применение
jQuery метод .slideDown() плавно отображает выбранные элементы скользящим движением (постепенно увеличивая их высоту). Для того, чтобы плавно скрыть выбранные элементы скользящим движением вы можете воспользоваться методом .slideUp(), или методом .slideToggle(), который отображает, или скрывает выбранные элементы скользящим движением.
jQuery синтаксис:
Синтаксис 1.0:
$( selector ).slideDown() // метод используется без параметров
$( selector ).slideDown( duration, complete )duration - Number, или String
complete - Function
$( selector ).slideDown( { options } ) // option: value (описание ниже)options - PlainObject
Синтаксис 1.4.3:
$( selector ).slideDown( 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 |
|
Пример использования
Пример использования jQuery методов .slideDown() и .slideUp() (без параметров)
Нажмите , затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 4.0.0.
index.html
<button class="hide">Скрыть</button><button class="show">Отобразить</button>
<hr />
<div></div>
<div></div>
<div></div>
main.js
$(document).ready(function () {
$('.hide').click(function () {
$('div').slideUp()
})
$('.show').click(function () {
$('div').slideDown()
})
})
style.css
div {
display: inline-block;
width: 75px;
height: 100px;
margin-right: 20px;
background-color: green;
}
Нажмите , чтобы запустить пример.
В этом примере с использованием jQuery методов
.slideUp()
и .slideDown() мы при нажатии на определенную кнопку плавно отображаем, или скрываем скользящим движением
выбранные элементы
<div>
в документе.
Рассмотрим следующий пример в котором зададим методам .slideUp() и .slideDown() различные значения продолжительности анимации:
Пример использования jQuery методов .slideDown() и .slideUp() (различная скорость анимации)
Нажмите , затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 4.0.0.
index.html
<button class="hide">Скрыть</button><button class="show">Отобразить</button>
<hr />
<div></div>
<div></div>
<div></div>
main.js
$(document).ready(function () {
$('.hide').click(function () {
$('div:first').slideUp('slow')
$('div:nth-of-type(2)').slideUp(2000)
$('div:last').slideUp('fast')
})
$('.show').click(function () {
$('div:first').slideDown('slow')
$('div:nth-of-type(2)').slideDown(2000)
$('div:last').slideDown('fast')
})
})
style.css
div {
display: inline-block;
width: 75px;
height: 100px;
margin-right: 20px;
background-color: orange;
}
Нажмите , чтобы запустить пример.
В этом примере с использованием jQuery методов
.slideUp()
и .slideDown() мы при нажатии на определенную кнопку плавно скрываем, либо отображаем все элементы
<div>
в документе. При этом первый элемент
<div>
плавно скрывается, или отображается за 600 миллисекунд (ключевое слово 'slow'), второй элемент за
2000 миллисекунд, а третитй за 200 миллисекунд (ключевое слово 'fast').
Рассмотрим следующий пример в котором зададим методам .slideUp() и .slideDown() не только продолжительность анимации, но и укажем скорость анимации и функцию, которая будет выполнена после завершения анимации:
Пример использования jQuery методов .slideDown() и .slideUp() (с callback функцией)
Нажмите , затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 4.0.0.
index.html
<button class="hide">Скрыть</button><button class="show">Отобразить</button>
<hr />
<div></div>
<div></div>
<div></div>
<p class="status"></p>
main.js
$(document).ready(function () {
$('.hide').click(function () {
$('div').slideUp(500, 'linear', function () {
$('.status').text('Элементы плавно скрылись')
})
})
$('.show').click(function () {
$('div').slideDown(500, 'linear', function () {
$('.status').text('Элементы плавно появились')
})
})
})
style.css
div {
display: inline-block;
width: 75px;
height: 100px;
margin-right: 20px;
background-color: red;
}
Нажмите , чтобы запустить пример.
В этом примере с использованием jQuery методов
.slideUp()
и .slideDown() мы при нажатии на определенную кнопку скрываем, либо отображаем все элементы
<div>
в документе. При этом мы указали для наших методов продолжительность анимации равную пол секунды (500
миллисекунд), эффект анимации происходит с одинаковой скоростью от начала до конца (linear) и функцию, которая
после завершения анимации находит элемент с классом status и добавляет текстовую информацию (jQuery метод
.text()).
Рассмотрим следующий пример в котором передадим в качестве параметра методов .slideUp() и .slideDown() объект, содержащий различные опции, которые будут контролировать анимацию:
Пример использования jQuery методов .slideDown() и .slideUp() (объект с опциями в качестве параметра)
Нажмите , затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 4.0.0.
index.html
<button class="hide">Скрыть</button><button class="show">Отобразить</button>
<hr />
<div></div>
<div></div>
<div></div>
<p class="status"></p>
main.js
$(document).ready(function () {
$('.hide').click(function () {
$('div').slideUp({
duration: 800,
easing: 'linear',
complete: function () {
$('.status').text('Элементы плавно исчезли')
},
queue: false,
})
})
$('.show').click(function () {
$('div').slideDown({
duration: 800,
easing: 'linear',
complete: function () {
$('.status').text('Элементы плавно появились')
},
queue: false,
})
})
})
style.css
div {
display: inline-block;
width: 75px;
height: 100px;
margin-right: 20px;
background-color: violet;
}
Нажмите , чтобы запустить пример.
В этом примере с использованием jQuery методов
.slideUp()
и .slideDown() мы при нажатии на определенную кнопку плавно скрываем, либо отображаем все элементы
<div>
в документе. При этом мы в качестве параметров методов передаем объект содержащий следующие параметры:
- продолжительность анимации равную 800 миллисекунд (duration: 800)
- эффект анимации происходит с одинаковой скоростью от начала до конца (easing: linear)
- функция, которая после завершения анимации находит элемент с классом status и добавляет текстовую информацию (complete: function).
- анимация не размещается в очереди эффектов (queue: false).