www.jQueryBook.ru - jQuery документация

 

 

 

 



  • Категории: Effects › Fading

    .fadeTo()

    Плавно изменяет уровень непрозрачности элементов набора jQuery от текущего значения до заданного.

Синтаксис и описание:

  • Добавлено в jQuery 1.0.fadeTo( duration, opacity [, complete ] )

  • Добавлено в jQuery 1.4.3.fadeTo( duration, opacity [, easing ] [, complete ] )

  • Команда .fadeTo() плавно меняет непрозрачность элементов набора jQuery от текущего значения до заданного числа opacity (от 0 до 1). В отличие от .fadeIn() и .fadeOut(), свойство display метод не трогает вовсе — он управляет только прозрачностью.

Возвращаемое значение: (объект) Набор jQuery.

Параметры:

  • duration – (число | строка) Обязательный параметр — в отличие от .fadeIn()/.fadeOut(), у .fadeTo() нет значения по умолчанию. Число миллисекунд либо "fast"/"slow".

  • opacity – (число) Обязательный параметр — целевая непрозрачность, число от 0 до 1.

  • easing – (строка, с jQuery 1.4.3) swing (по умолчанию) или linear.

  • complete – (функция) Вызывается по одному разу на каждый элемент после завершения перехода.

  1. Примечание:

    Если передать duration равным 0, изменение непрозрачности произойдёт мгновенно — фактически это то же самое, что .css('opacity', opacity), но с оформлением через анимационный API (постановка в очередь, callback).

  2. Примечание:

    Так как .fadeTo() не меняет display, вызвать его на элементе с display: none, ожидая, что он «появится», не получится — элемент останется вне потока документа, даже если непрозрачность станет равна 1. Чтобы показать скрытый элемент с плавным проявлением, нужен именно .fadeIn(), либо сначала .show()/.css('display', ...), а затем .fadeTo().

  3. В jQuery 3.x и 4.0:

    Метод не деприкейчен и не менялся. Как и другие эффекты, в slim-сборке недоступен (с 3.0), а с 4.0 в slim дополнительно нет deferred/queue — нужна полная сборка jQuery.

Примеры:

  1. Плавно сделать элемент полупрозрачным и обратно.

    $('#overlay').fadeTo(300, 0.5);
    // позже вернуть обратно:
    $('#overlay').fadeTo(300, 1);
  2. Мгновенная установка через duration: 0 — аналог .css('opacity', ...) с колбэком.

    $('#overlay').fadeTo(0, 0.3, function() {
      console.log('Непрозрачность выставлена сразу, без анимации');
    });
  3. Частая ошибка: .fadeTo() не показывает элемент с display:none — нужно сначала .show().

    // Неправильно: элемент останется скрытым (display: none), даже с opacity: 1
    $('#hint').fadeTo(300, 1);
    
    // Правильно:
    $('#hint').show().css('opacity', 0).fadeTo(300, 1);

[ наверх ]









 




Справочник по jQuery JavaScript API на русском языке