javascript - 在 animate() 之后使用时,jQuery text() 无法正常工作

标签 javascript jquery

我正在尝试做一个动画进度条,到目前为止我有这个代码:

HTML

<div class="bar-container">
    <div class="bar"><div class="bar-value"></div></div><button>Submit</button><img src="gif.gif" class="loader">
    <br><br>
    <span class="progress"></span>
</div>

JQUERY

   $(document).ready(function(){
        $('button').click(function(){
            $('.loader').fadeIn(1200);

            $('.bar-value').animate({width: '+=1%'},100);
            $('.progress').text("1%");
            $('.bar-value').animate({width: '+=1%'},100);
            $('.progress').text("2%");
            $('.bar-value').animate({width: '+=1%'},100);
            $('.progress').text("3%");
        }); 
});

问题是 text() 仅在所有动画完成时才会更改,因此您看不到 (1%)、(2%)、(3%) 等,当三个动画完成。

提前致谢

最佳答案

实际上,它会在动画开始之前更改文本,如果您希望在动画之后发生某些事情,请使用动画回调。

$(document).ready(function(){
        $('button').click(function(){
            $('.loader').fadeIn(1200);

            $('.bar-value').animate({width: '+=1%'},100, function(){ 
                $('.progress').text("1%");
            });
            $('.bar-value').animate({width: '+=1%'},100, function(){ 
                $('.progress').text("2%");
            });
            $('.bar-value').animate({width: '+=1%'},100, function(){ 
                $('.progress').text("3%");
            });
        }); 
});

http://jsfiddle.net/sVDb7/

关于javascript - 在 animate() 之后使用时,jQuery text() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463128/

相关文章:

javascript - 以字符串形式检索整个 json 数组

javascript - 有没有办法阻止浏览器缓存滚动位置和缩放级别等值?

javascript - 单击以使用 Javascript/ES6 更改内部子项和其他部分

javascript - 在浏览器中,我可以获得鼠标指向的图像颜色吗?

javascript - 如何找到一个元素到其父元素的 'relative'位置?还是 : How to find Mr. 蓝色?

jQuery .position().left 和变量

javascript - 在 Grails 中使用导出功能时将生成的文件保存到本地磁盘

javascript - 如何使用 javascript/jquery 禁用鼠标悬停事件?

javascript - 为什么这个 javascript 函数在 Firefox 上这么慢?

javascript - success 函数内的 loadPlayer 函数未定义