在淡入新文本时推送旧文本

时间:2017-09-25 06:53:44

标签: javascript jquery

我想要新文本,因为它正在消失,将旧文本向下推,而不是在旧文本之后显示新文本。这可能吗?搞这个问题一直很困难。

这是javascript:

var $el= $('.fader').map(function() {
  return this;
}).get();

$el.forEach(function (eachdiv){



var  text = $(eachdiv).text(),
words = text.split(".");
var html = "";

for (var i = 0; i < words.length; i++) {
    html += "<span>" + words[i] + " </span>" + '<br/>';
        $(eachdiv).html(html).children().hide().each(function(i){
           return $(this).delay(i*200).fadeIn(200);

        });        
    }
});

解决方案似乎确实涉及使用prepend,但我不确定在代码中放置前置的位置。

2 个答案:

答案 0 :(得分:0)

尝试使用这样的循环而不是你的循环。只是给你一个主意。根据您的数据提供淡入淡出效果。

for (var i = 0; i < words.length; i++) {
        html.prepend("<span>" + words[i] + " </span>" + '<br/>');
            $(eachdiv).html(html).children().hide().each(function(i){
               return $(this).fadeIn(200);

            });        
        }

答案 1 :(得分:0)

这似乎在返回行中起作用:

return $(this).delay(i*200).prependTo(eachdiv).fadeIn(200);

感谢您介绍前置,Sindhoor!