0

我已经制作了一个脚本来使列的高度相同。这是我的脚本:

function equalHeight(group) {
   tallest = 0;
   group.each(function() {
      thisHeight = $(this).outerHeight();
      if(thisHeight > tallest) {
         tallest = thisHeight;
      }
   });
   group.outerHeight(tallest);
};

equalHeight($(".list-links li"));

但我有一个问题。在我的网站中,我使用 jquery ui 核心。但我想删除那个 jquery ui。但是如果我删除 jquery ui。然后这个脚本不再工作了。为什么?

感谢您的帮助。

4

2 回答 2

2

正如您从文档中看到的那样,jQuery.outerHeight不能用作 setter 方法。所以,这行代码

group.outerHeight(tallest);

没有 jQuery UI 没有任何效果。

jQuery UI 包装.inner*和方法,并使用 setter 方法扩展它们,正如您在jquery.ui.core.js.outer*下面的摘录中看到的那样。

...
$.fn[ "outer" + name] = function( size, margin ) {
  if ( typeof size !== "number" ) {
    return orig[ "outer" + name ].call( this, size );
  }

  return this.each(function() {
    $( this).css( type, reduce( this, size, true, margin ) + "px" );
  });
};
...

例如.outerHeight,这些设置器设置元素的高度,没有填充、边框和可选的边距。

于 2012-09-08T16:04:33.150 回答
0

至少我可以说,脚本片段与 UI 核心(小部件交互)无关。我猜您在某处调用 UI 核心小部件方法,检查错误控制台,可能是未定义的函数或非对象,一旦您删除 UI 核心。

于 2012-09-08T15:51:27.583 回答