使用jQuery在无限循环中对单词宽度进行动画处理

奥尔本·布朱比(Alban Bujupi)

我遇到了一个jQuery问题,这使我的生活更加艰难。

所以,如果这个JSBin,我到目前为止所做的

从您可以看到的是,我已经很接近了。我需要实现的是在一个句子中显示单词,一旦显示一个单词就显示下一个单词。直到一个句子中没有宽度为0的单词。一旦发生这种情况,该句子就会隐藏起来,然后开始下一个句子。一旦看到最后一句话中的所有单词,一切便重新开始(无限循环)。但是,单词之间以及句子之间也必须具有延迟的功能。我现在不知如何在代码方面没有进展,所以我想问一下有人是否有类似问题,或者是否有可以挽救我生命的插件。

它应该如何工作如下:

  1. 单词必须动画(就像现在一样)
  2. 一旦出现一个字,就会呼叫下一个
  3. 一旦出现一个句子中的所有单词,该句子就会隐藏起来。然后开始出现第二个句子中的下一个单词。
  4. 有些单词必须有延迟,这意味着它们应在给定延迟后开始出现
  5. 我也应该能够设置句子之间的间隔。
  6. 一旦第二句话完成,它应该隐藏。一切都应该重新开始。

非常感谢您提供的任何帮助。

克雷什尼克·哈桑娜(Kreshnik Hasanaj)

下面的代码,应该可以解决您的问题。我添加了一些更多的属性(数据属性),因此它更具动态性。

var sentences = $('.sentence');
var maxSentenceIndex = sentences.length - 1;
var currentSentenceIndex = 0;
var currentSentence = null;

var wordClass = '.word-row';
var standardDelay = 0;
var animationDuration = 1500;
var currentWordIndex = 0;

function loadSentence() {

  currentWordIndex = 0;
  currentSentence = sentences.eq(currentSentenceIndex);

  if (currentSentenceIndex > maxSentenceIndex) {

    currentSentenceIndex = 0;



  } else {
    currentSentenceIndex++;
  }
  currentSentence.show();
  loadWord();

}

function loadWord() {

  var $sentenceWords = $(currentSentence).find(wordClass);

  var maxWordsIndex = $sentenceWords.length - 1;


  animateWords($sentenceWords.eq(currentWordIndex));

  if (currentWordIndex > maxWordsIndex) {

    $sentenceWords.css('width', 0);
    $(currentSentence).hide();

    loadSentence();

  } else {
    currentWordIndex++;
  }

}

function animateWords(word, callback) {
  var $word = $(word);
  var delay = $(word).data('delay') || standardDelay;
  var width = $(word).data('width') || '100%';
  var speed = $(word).data('speed') || animationDuration;

  $word.animate({
    width: width
  }, {
    duration: speed,

    complete: function() {

      if (typeof(callback) == 'function') {
        setTimeout(callback, delay);
      } else {
        setTimeout(loadWord, delay);
      }

    }
  });


}
loadSentence();
.element{
    text-align: left;
    color: white;
    background: gray;
    width: 120px;
    height: 600px;
    padding-top: 50pxs
}
.word-row{
  overflow: hidden;
  width: 0;
}
.word{
  display: block;
  width: 108px;
  white-space: nowrap;
  text-align: center;
  font-size: 22px;
}
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div class="element typed-strings">
                


                <div class="sentence sentence-1">
                    <div class="word-row"><span class="word">First word</span></div>
                    <div class="word-row"><span class="word">Second word</span></div>
                    <div class="word-row"><span class="word"><strong>auto</strong></span></div>
                    <div class="word-row"><span class="word">strong</span></div>
                    <div class="word-row"><span class="word">super</span></div>
                    <div class="word-row"><span class="word">mario</span></div>
                </div>    

            
                <div class="sentence sentence-2">
                    <div class="word-row"><span class="word"><strong>hello</strong></span></div>
                    <div class="word-row"><span class="word"><strong>how is.</strong></span></div>
                    <div class="word-row" data-delay="1400"><span class="word"><strong>life</strong></span></div>
                    <div class="word-row"><span class="word"><strong>GREAT.</strong></span></div>
                </div>



                
            </div>
</body>
</html>

让我知道这是否适合您。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用jQuery在无限循环中对单词宽度进行动画处理

来自分类Dev

使用纯JavaScript在循环中对多个div进行动画处理

来自分类Dev

使用Jquery对徽标进行动画处理

来自分类Dev

在jQuery中使用百分比对div的宽度进行动画处理

来自分类Dev

在jQuery中使用百分比对div的宽度进行动画处理

来自分类Dev

使用jQuery Animate分步对图像精灵进行动画处理?

来自分类Dev

使用jQuery进行动画处理然后隐藏元素

来自分类Dev

使用jquery颜色插件对Div的颜色进行动画处理

来自分类Dev

使用jQuery对数组元素进行动画处理

来自分类Dev

如何使用jQuery对图像进行动画处理

来自分类Dev

如何使用jQuery对导航栏进行动画处理

来自分类Dev

在JQuery中对变量进行动画处理

来自分类Dev

jQuery计算高度和宽度并对其背后的内容进行动画处理

来自分类Dev

jQuery通过其宽度左右对响应的div进行动画处理

来自分类Dev

使用Highcharts渲染器对笔划宽度进行动画处理

来自分类Dev

对视图的宽度进行动画处理以匹配父级?

来自分类Dev

使用键盘对UIView进行动画处理

来自分类Dev

使用CSS对句子中的单个单词进行动画处理

来自分类Dev

如何以循环方式对图像进行动画处理?

来自分类Dev

使用Web动画对DOM属性(scrollTop)进行动画处理

来自分类Dev

如何使用R的动画包对散点图进行动画处理?

来自分类Dev

使用处理对竖线进行动画处理

来自分类Dev

对div进行动画处理以使用CSS和/或jQuery显示绝对定位的内容

来自分类Dev

jQuery使用导航箭头按顺序在屏幕上对div进行动画处理

来自分类Dev

如何使用animate.css和Jquery对内容进行动画处理

来自分类Dev

如何使用html css和jquery对蒙版或剪辑下的图像进行动画处理?

来自分类Dev

如何使用jQuery对文本值的变化进行动画处理?

来自分类Dev

jQuery使用导航箭头按顺序在屏幕上对div进行动画处理

来自分类Dev

使用jquery cookie时水平隐藏的div进行动画处理

Related 相关文章

  1. 1

    使用jQuery在无限循环中对单词宽度进行动画处理

  2. 2

    使用纯JavaScript在循环中对多个div进行动画处理

  3. 3

    使用Jquery对徽标进行动画处理

  4. 4

    在jQuery中使用百分比对div的宽度进行动画处理

  5. 5

    在jQuery中使用百分比对div的宽度进行动画处理

  6. 6

    使用jQuery Animate分步对图像精灵进行动画处理?

  7. 7

    使用jQuery进行动画处理然后隐藏元素

  8. 8

    使用jquery颜色插件对Div的颜色进行动画处理

  9. 9

    使用jQuery对数组元素进行动画处理

  10. 10

    如何使用jQuery对图像进行动画处理

  11. 11

    如何使用jQuery对导航栏进行动画处理

  12. 12

    在JQuery中对变量进行动画处理

  13. 13

    jQuery计算高度和宽度并对其背后的内容进行动画处理

  14. 14

    jQuery通过其宽度左右对响应的div进行动画处理

  15. 15

    使用Highcharts渲染器对笔划宽度进行动画处理

  16. 16

    对视图的宽度进行动画处理以匹配父级?

  17. 17

    使用键盘对UIView进行动画处理

  18. 18

    使用CSS对句子中的单个单词进行动画处理

  19. 19

    如何以循环方式对图像进行动画处理?

  20. 20

    使用Web动画对DOM属性(scrollTop)进行动画处理

  21. 21

    如何使用R的动画包对散点图进行动画处理?

  22. 22

    使用处理对竖线进行动画处理

  23. 23

    对div进行动画处理以使用CSS和/或jQuery显示绝对定位的内容

  24. 24

    jQuery使用导航箭头按顺序在屏幕上对div进行动画处理

  25. 25

    如何使用animate.css和Jquery对内容进行动画处理

  26. 26

    如何使用html css和jquery对蒙版或剪辑下的图像进行动画处理?

  27. 27

    如何使用jQuery对文本值的变化进行动画处理?

  28. 28

    jQuery使用导航箭头按顺序在屏幕上对div进行动画处理

  29. 29

    使用jquery cookie时水平隐藏的div进行动画处理

热门标签

归档