我希望在我的网站上有一个百分比圆圈指示器
在这种情况下,显示为75%。应该怎么做?我在图像文件中有一个黄色圆圈,但是如果更容易使用CSS来完成所有操作,那么我可以。
考虑到进度条的形状(结束/开始是四舍五入的),我建议使用SVG。
演示:径向进度栏
径向进度栏
在以下示例中,使用stroke-dasarray属性为进度设置动画效果,并使用jQuery将%数字递增:
var count = $(('#count'));
$({ Counter: 0 }).animate({ Counter: count.text() }, {
duration: 5000,
easing: 'linear',
step: function () {
count.text(Math.ceil(this.Counter)+ "%");
}
});
body{text-align:center;font-family: 'Open Sans', sans-serif;}
svg{width:30%;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<svg id="animated" viewbox="0 0 100 100">
<circle cx="50" cy="50" r="45" fill="#FDB900"/>
<path fill="none" stroke-linecap="round" stroke-width="5" stroke="#fff"
stroke-dasharray="251.2,0"
d="M50 10
a 40 40 0 0 1 0 80
a 40 40 0 0 1 0 -80">
<animate attributeName="stroke-dasharray" from="0,251.2" to="251.2,0" dur="5s"/>
</path>
<text id="count" x="50" y="50" text-anchor="middle" dy="7" font-size="20">100%</text>
</svg>
不幸的是,IE不支持SVG SMIL动画。要在IE支持下达到相同的结果,可以使用snap.svg之类的库,并stroke-dasharray使用JS 设置属性的动画:
var count = $(('#count'));
$({ Counter: 0 }).animate({ Counter: count.text() }, {
duration: 5000,
easing: 'linear',
step: function () {
count.text(Math.ceil(this.Counter)+ "%");
}
});
var s = Snap('#animated');
var progress = s.select('#progress');
progress.attr({strokeDasharray: '0, 251.2'});
Snap.animate(0,251.2, function( value ) {
progress.attr({ 'stroke-dasharray':value+',251.2'});
}, 5000);
body{text-align:center;font-family:sans-serif;}
svg{width:30%;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.3.0/snap.svg-min.js"></script>
<svg id="svg" viewbox="0 0 100 100">
<circle cx="50" cy="50" r="45" fill="#FDB900"/>
<path fill="none" stroke-linecap="round" stroke-width="5" stroke="#fff"
stroke-dasharray="1,250.2"
d="M50 10
a 40 40 0 0 1 0 80
a 40 40 0 0 1 0 -80"/>
<text x="50" y="50" text-anchor="middle" dy="7" font-size="20">1%</text>
</svg>
<svg viewbox="0 0 100 100">
<circle cx="50" cy="50" r="45" fill="#FDB900"/>
<path fill="none" stroke-linecap="round" stroke-width="5" stroke="#fff"
stroke-dasharray="125.6,125.6"
d="M50 10
a 40 40 0 0 1 0 80
a 40 40 0 0 1 0 -80"/>
<text x="50" y="50" text-anchor="middle" dy="7" font-size="20">50%</text>
</svg>
<svg id="animated" viewbox="0 0 100 100">
<circle cx="50" cy="50" r="45" fill="#FDB900"/>
<path id="progress" stroke-linecap="round" stroke-width="5" stroke="#fff" fill="none"
d="M50 10
a 40 40 0 0 1 0 80
a 40 40 0 0 1 0 -80">
</path>
<text id="count" x="50" y="50" text-anchor="middle" dy="7" font-size="20">100%</text>
</svg>
问题内容: 如何在显示百分比的进度条中间放置标签?问题是python不支持标签背景的透明性,所以我不知道该如何解决。 问题答案: 使用可以做到这一点。这个想法是修改样式的布局(对垂直进度条做同样的事情),在样式条中添加一个标签: 通常的布局: 带有附加标签: 然后,可以使用来更改标签的文本。 这是代码:
示例:9999次做某事(可能超过) 我想在label1上显示循环的百分比,当我编译时,我不能在几毫秒内做任何事情,我的标签只显示100%。有人知道吗,先生?非常感谢。
问题内容: 我已经在服务器上用PHP和bash编写了一个完整的系统,以便在VPS上转换和流式传输HTML5中的视频。转换由ffmpeg在后台完成,其内容输出到 block.txt 。 除其他外,我找不到有效的例子。 我需要获取当前编码进度的百分比。 我上面链接的第一篇文章给出了: $ percent_extracted变量回显零,由于数学不是我的强项,所以我真的不知道如何在这里继续。 这是来自bl
本文向大家介绍Python实现带百分比的进度条,包括了Python实现带百分比的进度条的使用技巧和注意事项,需要的朋友参考一下 大家在安装程序或下载文件时,通常都能看到进度条,提示你当前任务的进度。其实,在python中实现这个功能很简单,下面是具体代码。在实际应用中,你完全可以根据自己的要求进行修改!比如,示例中是通过time.sleep()方法进行时间延迟,你完全可以根据实际的程序运行耗时进行
我正在尝试制作一个“进度条”与动画,改变了酒吧的背景颜色。 该条在0%时应该以红色开始,当它穿过元素时,在100%时会变为绿色。我的工作是100%(不,颜色不是很好,但这是一个未来的问题)... null null 问题是(例如)在50%时,我无法使条“停止”在红色和绿色之间的50%过渡状态。 有没有一种方法可以计算颜色,因为它将在50%或让CSS停止过渡在一个特定的点? 你可以看到如果我有50%
**了解更多信息:总上传时间为15分钟,但进度百分比在一秒钟内完成。