首页 > 解决方案 > 如何在旧文本上方添加新文本时使旧文本向下滑动?

问题描述

我从顶部向 div 提供文本。

以下代码在将最新段落添加到 div 时为它提供了一个向下滑动的动画。

创建新段落时,如何使所有段落向下滑动?此外,我的代码的任何提示将不胜感激!

HTML:

<div id="text">

Javascript:

function addText(message) {
    var el = document.getElementById('text');
    var p = document.createElement('p');
    p.appendChild(document.createTextNode(message));
    el.insertBefore(p, el.childNodes[0] || null);
    $(p).addClass("reveal");
}

CSS:

.reveal {
    animation: slide-down 1s;
}

@keyframes slide-down {
  from {
    -moz-transform: translateY(-50px);
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    opacity: 1;
    -moz-transform: translateY(0px);
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    -moz-animation: linear;
    -webkit-animation: linear;
    animation: linear;
  }
}

标签: javascripthtmlcss

解决方案


你能试试这个。

function addText(message) {
     $('p').removeClass("reveal");
     setTimeout(function(){ 
        var el = document.getElementById('text');
        var p = document.createElement('p');
        p.appendChild(document.createTextNode(message));
        el.insertBefore(p, el.childNodes[0] || null);
        $('p').addClass("reveal");
     }, 500);
}
addText('Welcome to first paragrap');

然后你在控制台中调用第二个。


推荐阅读