jQuery текст исчезает / переход от одного текста к другому?
jQuery может, очевидно, fadeIn / fadeOut текст легко. Но что делать, если вы хотите изменить текст с одной вещи на другую? Может ли это произойти с переходом?
пример:
<div id='container'>Hello</div>
можно ли изменить текст Привет до мир но он меняется с переходом (например, исчезает или какой-то эффект) вместо того, чтобы мгновенно меняться?
6 ответов:
вы можете использовать обратные вызовы, как это:
$("#container").fadeOut(function() { $(this).text("World").fadeIn(); });вы можете попробовать здесь, или из-за того, как очередь работает в данном конкретном случае, например этой:
$("#container").fadeOut(function() { $(this).text("World") }).fadeIn();Это выполняет
.text()вызов.fadeOut()завершено, прежде чем снова выцветания.
Если вы будете использовать hide / show или fadeIn/fadeOut, вы можете столкнуться с некоторым эффектом "прыжка", потому что он изменяет свойство отображения CSS. Я бы предложил использовать анимацию с непрозрачностью.
такой:
$('#container').animate({'opacity': 0}, 1000, function () { $(this).text('new text'); }).animate({'opacity': 1}, 1000);
здесь видео.
(function() { var quotes = $(".quotes"); var quoteIndex = -1; function showNextQuote() { ++quoteIndex; quotes.eq(quoteIndex % quotes.length) .fadeIn(2000) .delay(2000) .fadeOut(2000, showNextQuote); } showNextQuote(); })();Он работает хорошо.
один из способов, который я могу придумать, чтобы сделать это, чтобы иметь дочерние элементы с текстом и показать только один для начала, а затем исчезают другие в один за другим.
посмотрите здесь:http://jsfiddle.net/VU4CQ/
С помощью поиска массива для изменения текста и цвета, скорости перехода и mouseenter, 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); });
Я бы предложил вам использовать основной слайдер jQuery плагин. Очень легкий (6k) и делает то, что вы хотите, и имеет несколько вариантов настройки без всех помех большинства плагинов слайдера. Я использую его все время, и это здорово.
Comments