在窗口调整大小的居中div让我“未捕获类型错误”

时间:2012-01-19 14:02:19

标签: javascript jquery

我的页面上有一个模态窗口设置工作正常,但需要重新定位窗口调整大小才能保持居中。不幸的是,我只是得到错误:

  

未捕获的TypeError:对象#没有方法'outerHeight'

我错误地使用“this”吗?

        $(window).resize(function() {
            //If mask is open, resize modal elements
            if ($('#modalMask').is(':visible')) {
                //Resize and position modal windows
                //Get window dimensions
                var mWinHeight = $(window).height();
                var mWinWidth = $(window).width();
                //Make sure all open modal windows are centred
                $('.modalWindow:visible').each(function (i) {
                    var $this = $(this);
                    $this.css('top', mWinHeight/2-(this.outerHeight()/2));
                    $this.css('left', mWinWidth/2-(this.outerWidth()/2));
                });
            }
        });

2 个答案:

答案 0 :(得分:2)

忘了一些'$':

$this.css('top', mWinHeight/2-($this.outerHeight()/2));
$this.css('left', mWinWidth/2-($this.outerWidth()/2));

答案 1 :(得分:0)

我不知道outerHeight是否是DOMElement的属性,但您必须删除括号才能使用javascript属性:

this.outerHeight

或从this创建一个jquery对象以使用.outerHeight()jquery方法:

$(this).outerHeight()
// or use $this.outerHeight()