jquery - 在一段时间内向元素添加类

标签 jquery css

这可能是一个奇怪的问题,但是有没有办法在一段时间内将一个类一个一个地添加到多个元素中?例如,如果我有一个段落,其中包含 7 个跨度,每个跨度有一个字母....和类为 .up 的 CSS 文件:

.up {
position: relative;
animation: goUP 1s linear 0s;
animation-iteration-count: infinite
}

@keyframes goUP{

0%, 100% { 
top: 0px
}

50% {
top: -12px

 }
}

有没有办法设置 7 秒的间隔,并且每秒将类 .up 添加到其中一个元素?我尝试了 for-cyclus、setInterval,但没有任何效果。我还在学习,所以不要对我太粗鲁:)。

最佳答案

我不知道你是否只想使用 jquery 模式来做到这一点,但这里有一个纯 javascript 的解决方案:

<html>
<title></title>
<body>
<p id="paragraph">
    <span>a</span>
    <span>b</span>
    <span>c</span>
    <span>d</span>
    <span>e</span>
    <span>f</span>
    <span>g</span>
</p>
<script>
    var p = document.getElementById("paragraph");
    var spans = p.getElementsByTagName('span');
    var seconds = 7;
    var index = 0;

    function timeout() {
        setTimeout(function () {
            // create a recursive loop util all elements.
            if(index < spans.length) {
                spans[index].className += "up";
                console.log(spans[index].className);
                index ++;
                timeout();
            }
        }, seconds * 1000);
    }

    timeout();

</script>
</body>

无论如何,您都可以根据自己的代码调整它。

关于jquery - 在一段时间内向元素添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45517127/

相关文章:

jquery - 如何使用jquery获取元素的data属性值?

css - 全屏背景视频

html - 如何在没有来源的情况下删除图像周围的边框?

html - 如何使这个 100% 高度 + 列溢出布局在 Firefox 和 IE 中工作?

css - angularjs 中的 Twitter-Bootstrap 下拉列表打开/关闭事件

javascript - 空值会导致 NaN 结果

javascript - 在 Django 中使用 SIMPLE javascript 确认删除

jquery - 为什么我的 jquery slideToggle 下拉菜单不稳定/不稳定?

javascript - jquery 基于哪个 javascript 设计模式?

html - 检查网站上使用了哪些图像(HTML 和 CSS)