【问题标题】:smoothly animated javascript stacked progress bars without flickering平滑动画 javascript 堆叠进度条,不闪烁
【发布时间】:2016-11-28 23:42:06
【问题描述】:

什么是让堆叠的进度条平滑动画而不闪烁的好方法?

我目前正在使用 Bootstrap,更改宽度样式(使用 Knockout)。 示例:https://jsbin.com/lewuzewupo/2/edit?html,console,output 我的问题是,如果你看的时间够长,右边的绿条会闪烁。这似乎是因为动画导致它在中间的深蓝色条出现和消失时被推到右侧。

(我已经尝试了所有我能想到的方法来确保堆叠条的总数在任何时候都不会超过 100。如果我停止使用进度条类并使用我自己的会导致类似的外观,但是没有动画,则闪烁为零,并且条形稳定,始终总计 100。)

那么在 Bootstrap 中是否有解决该问题的解决方法,或者创建堆叠进度条的替代方法,看起来和 Bootstrap 一样漂亮并且动画流畅?

[编辑:添加调试以证明我的百分比总和为 100]

【问题讨论】:

    标签: javascript jquery css twitter-bootstrap


    【解决方案1】:

    我想我以前遇到过这种事情 - 归结为“完整”文本。基本上,它不能很好地计算出宽度。 2 个想法。

    1. 去掉“完整”的文字应该没问题。

    2. 尝试仅在特定时间后显示完成,并且值已降至特定比率。

    抱歉,帮不上忙。

    【讨论】:

    • 对不起,红鲱鱼,但不,这不是文字。即使从所有进度条中完全删除了所有文本,它仍然会闪烁。使用我的演示很容易测试,只需执行此操作并耐心等待即可。
    • 只是阅读你的脚本,我不是说你使用round和ceil。有没有可能你所有的百分比加起来超过 100,所以当它闪烁时它会移动。对不起,我的淘汰赛不太好。
    • 如果 %s 不 == 100,我将演示更新为 console.log。它们始终为 100。
    • 对,干杯看了一下和另一场比赛(删除值等)我认为我们唯一可以同意的是浏览器认为元素比它更宽,因此进入下方。我认为您很有可能在这里发现了一个浏览器错误,并且它正在对百分比进行四舍五入。我建议也许不要将百分比添加到 100%,而是将它们更改为添加到 99.7% 或其他内容。可能会成功。
    • 是的,这是我目前的解决方法;我将它们缩放到总共 98 个。但是在右侧有空间很难看。我认为问题在于动画的方法,这使它成为引导程序错误,而不是浏览器错误;因此我的问题是堆叠进度条还有其他不错的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    相关资源
    最近更新 更多