Я ищу, чтобы текст был статичным, но когда пользователь наводил курсор на текст, он анимируется через массив разных слов, останавливаясь и показывая статическое слово, когда пользователь удаляет свою мышь.text animate on mouseover, stop и reset on mouseout
я получил довольно далеко с помощью этого другого SO сообщение:
changing text periodically in a span from an array with jquery
Но не могу получить очередь петли, чтобы остановить и вернуться к исходному слову после парения удаляется.
Я хочу иметь предложение, например, это:
<p>Here is a sentence <span id="rotate">this</span> is what changes</p>
Так что если пользователь парит над «это», то она одушевляет затухание в/к массиву других слов, например:
var terms = ["newword1", "newword2", "newword3"];
Но когда парения удаляется, он останавливается очередь анимации и сбрасывает, чтобы показать «это» снова.
Это то, что я до сих пор:
var terms = ["term 1", "term 2", "term 3"];
function rotateTerm() {
var ct = $("#rotate").data("term") || 0;
$("#rotate").data("term", ct == terms.length -1 ? 0 : ct + 1).text(terms[ct]).fadeIn()
.delay(2000).fadeOut(200, rotateTerm);
};
В основном из других SO поста, но изменил триггер:
$("#rotate").mouseenter(function(){
$(rotateTerm);
});
$("#rotate").mouseleave(function(){
});
Так это сейчас срабатывает при наведении курсора мыши, который является большим , но у меня есть трудности с тем, что положить в функцию «mouseleave», чтобы остановить вращающийся текст, который теперь работает все время.
Это выглядит довольно хорошо, но если вы поместите курсор мыши в центре меняющегося текста, и Донт переместите указатель мыши вообще, иногда текст случайным образом «мерцает» или перескакивает между двумя или тремя состояниями одновременно. Любая идея, что вызывает это? – Richard
@Richard Вы правы, потому что иногда событие 'mouseleave' запускается между' fadeOut() 'и' fadeIn() ', я изменил таймаут, чтобы исправить это. – Hulothe
@Richard Возможно, вы захотите навести курсор на сам абзац (элемент блока), а не на span (встроенный элемент). https://jsfiddle.net/NotInUse/6tgz1gsa/3/ +1 для этого. – Scott