【发布时间】:2019-03-12 03:41:30
【问题描述】:
我是一名开发人员,而不是一名设计师,所以请放轻松。我正在尝试创建进度条列表,但动画对此不起作用。当页面到达元素位置时,我想缓慢运行进度条以定义宽度。 这是我的 HTML 页面内容
<div class="container">
<div class="row">
<!-- Skill Bars -->
<div class="progress-straight skill-bar ">
<div class="progress-bar-straight progress-bar-success" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">
<span class="skill">HTML <i class="val">100%</i></span>
</div>
</div>
<div class="progress-straight skill-bar">
<div class="progress-bar-straight progress-bar-info" role="progressbar" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100" >
<span class="skill">CSS<i class="val">90%</i></span>
</div>
</div>
<div class="progress-straight skill-bar">
<div class="progress-bar-straight progress-bar-warning" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100">
<span class="skill">JavaScript<i class="val">75%</i></span>
</div>
</div>
<div class="progress-straight skill-bar">
<div class="progress-bar-straight progress-bar-danger" role="progressbar" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100">
<span class="skill">Photoshop<i class="val">55%</i></span>
</div>
</div>
</div>
</div>
CSS 是
.progress-straight {
height: 35px;
}
.progress-straight .skill {
font: normal 12px "Open Sans Web";
line-height: 35px;
padding: 0;
margin: 0 0 0 20px;
text-transform: uppercase;
}
.progress-straight .skill .val {
float: right;
font-style: normal;
margin: 0 20px 0 0;
}
.progress-bar-straight {
text-align: left;
transition-duration: 3s;
transition: width 2s ease;
-webkit-transition: width 0s ease;
-o-transition: width 0s ease;
-moz-transition: width 0s ease;
-ms-transition: width 0s ease;
}
Javascript代码是
<script>
$(document).ready(function() {
$('.progress-straight .progress-bar-straight').css("width",
function() {
return $(this).attr("aria-valuenow") + "%";
}
)
});
</script>
我也有一个 jsfiddle here
提前致谢。
【问题讨论】:
-
我不确定我是否理解您的问题,但我认为是的,为什么条形图没有移动?那是因为你没有设置初始宽度。
标签: css progress-bar css-transitions css-animations