Как активно чередовать текст, отображаемый на странице, к определенному времени?

Предпочтительно использовать Jquery(css или html - это хорошо), как мне чередовать текст, отображаемый по длительности? Примером может служить страница PR Groundswell.

1 ответ

Я создал рабочий пример для вас **** ЗДЕСЬ ****, используя jQuery animate() а также setTimeout функции. Если вы хотите добавить больше текста в цикл, просто добавьте новый div с textDiv класс и p тег. Вы также должны изменить maxCount переменная в коде jQuery для количества текстов в цикле.

HTML:

<div class="container">
  <div class="textDiv"><p class="text1"> This is text 1</p></div>
  <div class="textDiv"><p class="text2"> Another text to show how it works</p></div>
</div>

CSS:

* {box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.container {
  position: relative;
  height: 200px;
  width: 400px;
  margin: 20px auto;
  background: #d9f9fc;
  text-align: center;
  border-radius: 10px;
}

.textDiv {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 40px;
  width: 100%;
  font-size: 2em;
  font-weight: bold;
  text-transform: uppercase;
  color: rgba(0,0,0,1);
  -webkit-transform: translateX(-50%) translatey(-50%);
    -moz-transform: translateX(-50%) translatey(-50%);
    transform: translateX(-50%) translatey(-50%);
}
.text2 {
  opacity:0;
}

JQuery:

$(document).ready(function() {
   var count = 1;
   var maxCount = 2;
   textAnimate(count,maxCount);
});

function textAnimate(count,maxCount) {
    $(".text"+count).animate({
       opacity: '0'
    }, { duration: 300, queue: false });

    count++;
    if (count > maxCount) {count = 1;}

    $(".text"+count).animate({
       opacity: '1'
    }, { duration: 300, queue: false });

    window.setTimeout(function() { textAnimate(count,maxCount) }, 1000);
}
Другие вопросы по тегам