Подтвердить что ты не робот

JQuery text fade/переход из одного текста в другой?

jQuery может быть легко fadeIn/fadeOut легко. Но что, если вы хотите изменить текст из одной вещи в другую? Может ли это произойти с переходом?

Пример:

<div id='container'>Hello</div>

Можно ли изменить текст Hello to World, но изменить его с переходом (например, затуханием или каким-то эффектом) вместо мгновенного изменения?

4b9b3361

Ответ 1

Вы можете использовать обратные вызовы, например:

$("#container").fadeOut(function() {
  $(this).text("World").fadeIn();
});

Вы можете попробовать здесь или из-за того, как очередь работает в этом конкретном случае, например this:

$("#container").fadeOut(function() {
  $(this).text("World")
}).fadeIn();

Выполняет вызов .text(), когда .fadeOut() полностью, перед тем, как снова затухать.

Ответ 2

Если вы будете использовать hide/show или fadeIn/fadeOut, вы можете столкнуться с каким-то "прыгающим" эффектом, потому что он изменяет свойство отображения CSS. Я бы предложил использовать анимацию с непрозрачностью.

Вот так:

$('#container').animate({'opacity': 0}, 1000, function () {
    $(this).text('new text');
}).animate({'opacity': 1}, 1000);

Ответ 3

Вот живой пример.

(function() {

var quotes = $(".quotes");
var quoteIndex = -1;

function showNextQuote() {
    ++quoteIndex;
    quotes.eq(quoteIndex % quotes.length)
        .fadeIn(2000)
        .delay(2000)
        .fadeOut(2000, showNextQuote);
}

showNextQuote();

})();

Хорошо работает.

Ответ 4

В один прекрасный момент я могу подумать, что для этого нужно иметь дочерние элементы с текстом и показать только один, чтобы начать, а затем затушить другие в одном за другим.

смотрите здесь: http://jsfiddle.net/VU4CQ/

Ответ 5

Использование поиска массивов для изменения текста и цвета, скорости перехода и мыши, событий mouseleave на этом меню например:

$('#id a').mouseenter(function() {
    $(this).fadeOut(
    eSpeed, function() {
        $(this).text(sayThis[0]);
        $(this).css({
            color: eColor
        });
    }).fadeIn(eSpeed);
});


$('#id a').mouseleave(function() {
    $(this).fadeOut(
    eSpeed, function() {
        $(this).text(sayThat[0]);
        $(this).css({
            color: lColor
        });
    }).fadeIn(eSpeed);
});

Ответ 6

Я предлагаю вам использовать основной плагин jQuery слайдера. Очень легкий (6k) и делает то, что вы хотите, и имеет пару вариантов настройки без всякого беспорядка большинства плагинов слайдера. Я использую его все время, и это здорово.