首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动画化自建吧

动画化自建吧
EN

Stack Overflow用户
提问于 2021-03-17 20:08:20
回答 1查看 33关注 0票数 1

我正在显示一个栏(div),它显示了您的健康饮食和运动水平。它的值在0- 100%之间。在页面上重新加载一个javascript,让div从0%增长到达到的水平,例如70%。但它看起来真的很停顿,它不能以一致的方式流畅地增长。你有什么建议来解决这个问题吗? div携带这个值,而balkenAktivitaetobj.aktivitaetIndex3Tage,它通过它的长度来显示值。它运行得很好,只是看起来很差,因为它不能流畅地生长。

非常感谢。

代码语言:javascript
复制
<div style="padding: 0px 0px 15px 10px;color:white;font-size:16px;font-weight:400">
    AKTIVITÄT
</div>
<div style="margin: 0px auto 15px auto;display:flex;flex-wrap:nowrap;">
    <div style="margin:0px;width:80%;height:26px;background-color: #326a68;display:flex;flex-wrap:nowrap;border:1px solid #001c1a;box-shadow:1px 1px 1px #002321;border-radius:5px;">
        <div id="balkenAktivitaet" style="margin:0px;background-color: #F9BC60;height:26px;width:0%;border-radius:5px 5px 5px 5px;box-shadow:1px 0px #001c1a;"></div>
    </div>
    <div id="aktivitaetsIndex3Tage" class="indexProzentzahl" style="margin:0% 0% 0% 2%;color:#F9BC60;font-size:26px;font-weight:400;"></div>
</div>
代码语言:javascript
复制
var i = 0;
var inv = setInterval(function aktivitaet() {
    if (i < obj.aktivitaetIndex3Tage && i <= 100) {
        document.getElementById("balkenAktivitaet").style.width = parseInt(i = i + 2) + "%";
    }
}, 50);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-17 20:55:57

您可以立即将div的宽度设置为所需的百分比,同时向其css添加过渡-例如:

CSS:

代码语言:javascript
复制
#balkenAktivitaet {
   transition: width 2s ease;
   width: 0%;
}

JS:

代码语言:javascript
复制
document.getElementById("balkenAktivitaet").style.width = obj.aktivitaetIndex3Tage + '%';

示例代码:https://codepen.io/furiosys/pen/PobvpKa

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66672823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档