将函数响应(回调)作为变量传递给另一个函数

时间:2013-05-13 08:25:46

标签: javascript jquery

见下文。我试图将function(response)作为变量传递给进度条函数使用。无论如何,这是个主意。在这种情况下,如何将data = response回复到var i = data

$(document).ready(function () {
    $.ajaxSetup({
        cache: false
    });
    var data = 0;
    setInterval(function () {
        $('#divToRefresh').load('usercounter.php', function (response) {
            data = response;
        });
    }, 100);
    window.onload = function () {
        var Animator = new function () {
                var parent = document.getElementById('container');
                var element = document.getElementById('test');
                var target = document.getElementById('message');
                this.move = function () {
                    var i = data;
                    var width = 0;
                    var timer = window.setTimeout(function () {
                        i += 1;
                        element.style.width = width + i + 'px';
                    }, 10);
                };
            };
        Animator.move();
    };
});

1 个答案:

答案 0 :(得分:0)

不确定您的动画师是如何工作的或这些元素如何相互作用,但我猜你的目标是定期调用移动来刷新它的当前状态?所以把它放在间隔中,然后检索动画的计数部分。不确定这是否适用于您的方案。

$(document).ready(function () {
    $.ajaxSetup({
        cache: false
    });  

    window.onload = function () {
        var Animator = new function () {
                var parent = document.getElementById('container');
                var element = document.getElementById('test');
                var target = document.getElementById('message');
                this.move = function () {
                    $('#divToRefresh').load('usercounter.php', function (response) {
                        var i = response;                      
                        var width = 0;
                        var timer = window.setTimeout(function () {
                          i += 1;
                          element.style.width = width + i + 'px';
                        }, 10);
                    });

                };
            };
        Animator.move();
        setInterval(function () {
           Animator.move();
        }, 100);
    };
});