首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使javascript动画条同步到动画百分比

使javascript动画条同步到动画百分比
EN

Stack Overflow用户
提问于 2013-11-05 14:02:11
回答 1查看 256关注 0票数 0

我面临的问题是,我不知道如何使动画条与百分比I同步。现在我看上去不错,但是当我将'43‘值改为'100’时,百分比计数器就变慢了。

示例代码:

代码语言:javascript
运行
复制
$(document).ready(function(){
                $(".barInner").animate({
                    width: 43 + "%",
                    opacity: 1
                }, 2500 );

                var display = $('.barInner');
                var currentValue = 0;
                var nextValue    = 43;

                var diff         = nextValue - currentValue;
                var step         = ( 0 < diff ? 1 : -1 ); 

                for (var i = 0; i < Math.abs(diff); ++i) {
                    setTimeout(function() {
                        currentValue += step
                        display.text(currentValue + "%");
                    }, 54 * i)   
                }
            });

http://jsfiddle.net/vTKw7/

提前谢谢你,

尼克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-05 14:10:54

您不能以您似乎想要的方式同步.animate()setTimeout()。尝试使用您的setTimeout来控制进度条的宽度,同时显示百分比数。

代码语言:javascript
运行
复制
        $(document).ready(function () {

            var display = $('.barInner');
            var currentValue = 0;
            var nextValue = 100;
            var diff = nextValue - currentValue;
            var step = (0 < diff ? 1 : -1);

            for (var i = 0; i < Math.abs(diff); ++i) {
                setTimeout(function () {
                    currentValue += step;
                    display.text(currentValue + "%");
                    $(".barInner").css({
                        width: currentValue + "%",
                        opacity: 1
                    });
                }, 54 * i)
            }
        });

http://jsfiddle.net/mblase75/6TMWm/

或者,使用.stop().animate()使其平滑一点:

代码语言:javascript
运行
复制
                    $(".barInner").stop().animate({
                        width: currentValue + "%",
                        opacity: 1
                    },50);

http://jsfiddle.net/mblase75/6TMWm/1/

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

https://stackoverflow.com/questions/19790814

复制
相关文章

相似问题

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