javascript - 使用CSS让div中的段落一个一个连续出现

标签 javascript jquery html css

我的 html 上有这段代码:

<div id="container">
   <div id="animate" class="slide">
      <p>Some paragraph.</p>                 
      <p>Some paragraph</p>
              ...
      <p>Some paragraph</p>
   </div>
</div>

和这个脚本:

$(document).ready(function(){
    var i = 1;
    document.addEventListener("click", function(){
       if (i==n) { $("#container").show(); $("#animate").addClass("slide");}
                      ...
       if (i==1) { some code;}
    });
 });

请不要介意那里的“一些代码”,因为我认为它不相关。

无论如何,我在外部样式表上也有这个:

.slide p{
    animation-name: slide;
    animation-duration: 1s;
    animation-timing-function: ease;
}

@keyframes slide {
    0% { transform: translateY(100%);}
    100%{ transform: translateY(0%);}
}

@-webkit-keyframes slide {
    0% { -webkit-transform: translateY(100%);}
    100% { -webkit-transform: translateY(0%);}
}

所以当用户第 n 次点击他/她的鼠标时,<div>将出现并触发动画。但是,发生的情况是所有段落将同时出现(因为我仍然不知道如何将其逐个动画化)。

问题是否有可能一次一个地连续地(无需进一步/额外点击)动画段落,看起来像电影中的片尾字幕?

编辑

澄清:我的意思是连续,这意味着,例如,第一段将出现并首先制作动画。一段时间后,它会在屏幕上消失,然后下一段会出现……等等。无需用户进一步点击,段落将不断出现和消失,直到最后一段。

最佳答案

其他使用 JQuery 的方法你可以试试这个....

Javascript:

document.addEventListener("click", function(){
    $('#animate p:first').slideDown(1000, AnimatePara);
});

function AnimatePara(){
    $(this).slideUp(1000);

    $(this).next('p').slideDown(1000, AnimatePara);
}

CSS:

p{display:none;}

这是 jsfiddle: http://jsfiddle.net/30q3gh36/3/ http://jsfiddle.net/30q3gh36/4/

关于javascript - 使用CSS让div中的段落一个一个连续出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26441507/

相关文章:

javascript - 当用户输入时如何获取 $viewValue 中的字符串?

javascript - 在页面加载时保持单个单选按钮未选中

javascript - 使用 Javascript 添加的 HTML 表单隐藏字段未发布

jquery兼容性问题

javascript - speechSynthesis API 示例给出错误

php - 为什么我的 bootstrap.min.css 文件没有在 codeigniter 中加载

javascript - HTML5 显示具有特定内容的 localStorage 元素

php - 如何从自定义模块获取 Magento 中的字段数据?

javascript - jQuery 中的 jQuery() 函数有什么作用?

java - Android - 通过 Html.fromHtml TextView 中的图像?