在另一个元素的中间放置旋转器(JavaScript)

在另一个元素的中间放置旋转器(JavaScript),javascript,jquery,Javascript,Jquery,我知道这应该很简单,但一个小时或更长的时间都做不到 我有一个大小不一的画布,所以我想将微调器始终放在画布的顶部和中心。试过这样的方法: $rootScope.centerSpinner = function() { var spinner = $('.md-spinner'); var canvas = $('.canvas-container'); spinner.css({ 'top' : (canvas.o

我知道这应该很简单,但一个小时或更长的时间都做不到

我有一个大小不一的画布,所以我想将微调器始终放在画布的顶部和中心。试过这样的方法:

    $rootScope.centerSpinner = function() {
        var spinner = $('.md-spinner');
        var canvas = $('.canvas-container');

        spinner.css({
            'top'  : (canvas.outerHeight() / 2) - (spinner.outerHeight(true) / 2),
            'left' : (canvas.outerWidth() / 2) - (spinner.outerWidth(true) / 2)
        });


    }

不起作用

这比我想象的要容易:

   $rootScope.centerSpinner = function() {
        var spinner = $('#spinner');
        var left = $('#canvas').offset().left + $('#canvas').width()/2;
        var top = $('#canvas').offset().top + $('#canvas').height()/2;

        $('#spinner').css({
            "position" : "absolute",
            "left"     : left,
            "top"      : top
        });
    }