我想要新文本,因为它正在消失,将旧文本向下推,而不是在旧文本之后显示新文本。这可能吗?搞这个问题一直很困难。
这是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,但我不确定在代码中放置前置的位置。
答案 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!