javascript - 有没有更好的方法来实现这个CSS动画而不需要Javascript?

标签 javascript jquery css animation

只是尝试加载栏。主要问题是,一旦每个柱完成迭代,它需要从最后一个柱的顶部重新开始。我通过一些 hacky JS 做到了这一点,但也许有更聪明的方法使用纯 CSS 来做到这一点?

HTML

<div class="loading-bar">
    <div class="bar"><div class="bar-inner"></div></div>
    <div class="bar"><div class="bar-inner"></div></div>
</div>

SCSS

.loading-bar {
    clear: both;
    height: 12px;
    width: 100%;

    position: relative;

    .bar {
        margin: 0 auto;
        height: 12px;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        text-align: center;
        z-index: 0;

        .bar-inner {
            margin: 0 auto;
            width: 0;
            height: 12px;            
            -webkit-animation-name: loadbars;
            -webkit-animation-duration: 1s;
            -webkit-animation-iteration-count: infinite;
            -webkit-animation-timing-function: ease-in-out;
        }

        &:nth-child(1) .bar-inner {
            background: gray;            
        }
        &:nth-child(2) .bar-inner {
            background: blue;
            -webkit-animation-delay: 0.5s;
        }             
    }
}

@-webkit-keyframes loadbars {
    0% { width: 0; }

    50% { width: 100%; }

    100% { width: 100%; }
}

JS

var bars = $(".bar-inner");
var zindex = 1;
var listener = function () {
    zindex++;
    $(this).parent().css("z-index", zindex);    
};

bars.on("webkitAnimationIteration", listener);

演示: http://jsfiddle.net/18uqrtxo/

已更新

我已经更新了演示,以显示带有 4 个栏的纯 CSS,只是为了好玩。

http://jsfiddle.net/18uqrtxo/2/

最佳答案

z-index进行动画处理。

Demo

z-index应用于条形,而不是其容器。这将使栏在变宽时位于顶部,而在全宽时位于底部。

关于javascript - 有没有更好的方法来实现这个CSS动画而不需要Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30281279/

相关文章:

javascript - 使用 json 值在 Angularjs 中自动完成

javascript - jquery 新手 - 创建多个微调控件

javascript - jQuery version 1.5 - ajax - &lt;script&gt; 标签时间戳问题

php - 如何在一系列链式选择框中填充 sql 查询结果?

javascript - 如何修复 jQuery 从 html 输入元素输出相同的文本?

html - Bootstrap - 无法将导航栏向右拉的折叠元素居中

javascript - 使用 javascript 编写 HTML 脚本时出现语法错误

javascript - 如何在粘贴事件期间获取字段的值?

jquery - 使用jquery和ajax从数据库中删除数据

html - 垂直和水平居中图像