Это эффект, который я пытаюсь создать (JSFiddle):Как создать эффективную бесконечно циклическую размахивающую текстовую анимацию?
$('.header h1 span').each(function() { // each letter is contained inside a <span> element
var that = $(this);
setTimeout(function() {
that.animate({
top: "-10px"
}, animateTime/2)
.animate({
top: "10px"
}, animateTime/2);
}, that.index() * 100);
});
Результат:
Оказывается, чтобы быть успешным. Тем не менее, я столкнулся с проблемой его, глядя, как это после переключения вкладок, а затем возвращается:
В вышеприведенной скрипке, я пытался «исправить» это путем анимация останавливается, когда вкладка не сфокусирована. Это лучше, чем когда я НЕ проверял, чтобы вкладка не фокусировалась, но у нее все еще есть проблемы. Это код, я использую, чтобы сделать это:
var running = true;
document.addEventListener('visibilitychange', function(){
console.log("Running:" + running);
running = !document.hidden;
if(!running) clearQueues();
})
Если пользователь тратит меньше, чем на пару секунд нефокусированных из вкладки, анимация выглядит как второй GIF снова, и я не вижу способа чтобы избежать этого. Я пробовал использовать requestAnimationFrame()
, но я не могу понять, как заставить его вести себя правильно.
Итак, мой вопрос: Как предотвратить, чтобы анимация не была затронута тем, что вкладка не сфокусирована?
Бонусные баллы (образно), если вы можете помочь мне сделать его более эффективным на мобильных устройствах.
что вы имеете в виду "бонусных очков"? –
Как насчет того, чтобы просто использовать gif, который уже действует? – JonSG
@ CeylanMumunKocabaş Просто шутка; нет никаких «баллов», но я был бы признателен за то, что кто-то дал ответы на этот вопрос, хотя это никоим образом не требуется. – Dubstaphone