3

一般来说,我对 js 很陌生,但从我读过的教程来看,这似乎应该可行。我只是想使用这个插件来使 3 个盒子的高度相等......如果这很重要,盒子有边框半径和其他一些样式。

脚本代码:

$.fn.equalHeights = function(px) {
$(this).each(function(){
var currentTallest = 0;
$(this).children().each(function(i){
if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
});
    if (!px && Number.prototype.pxToEm) currentTallest = currentTallest.pxToEm(); //use ems unless px is specified
// for ie6, set height since min-height isn't supported
if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'height': currentTallest}); }
$(this).children().css({'min-height': currentTallest});
});
return this;
};

// just in case you need it...
$.fn.equalWidths = function(px) {
$(this).each(function(){
var currentWidest = 0;
$(this).children().each(function(i){
if($(this).width() > currentWidest) { currentWidest = $(this).width(); }
});
if(!px && Number.prototype.pxToEm) currentWidest = currentWidest.pxToEm(); //use ems unless px is specified
// for ie6, set width since min-width isn't supported
if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'width': currentWidest}); }
$(this).children().css({'min-width': currentWidest});
});
return this;
};

页面代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.0.min.js"><\/script>')</script>


<script src = "js/jQuery.equalHeights.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
     $(function(){ $('#equalize').equalHeights(); });
    });
</script>

我已经将“equalize”的 id 应用于我的 div,其中包含我想要相等高度的三个框。好像没有效果,IE抛出脚本错误“$.browser.msie is null or not an object”。

如果适用,我正在使用 xampp 在 php 页面上本地运行它。

我很确定这只是我的一些愚蠢的新手错误,我认真地花了大约 2 个小时试图追赶它,然后我放弃了。如果有人能插话,我真的很感激!

谢谢,乔

4

1 回答 1

12

对于旧代码,您需要jQuery Migrate 。

于 2013-02-25T21:53:02.760 回答