找出内部div是否溢出外部div

时间:2011-03-06 17:56:49

标签: jquery height overflow

我正在寻找一种方法来查明内部div是否溢出了外部div。

<div id="outer">
    <div id="inner">
       <img src="#" alt="" />
       <img src="#" alt="" />
       <img src="#" alt="" />
       <img src="#" alt="" />
    </div>
</div>

使用JQuery我已经将#outer设置为400px的高度并且溢出:隐藏。内部div自动填充ajax图像。所以现在,我只看到#inner的一部分。我如何让JQuery发现#inner的高度是否超过#outer?

谢谢!

3 个答案:

答案 0 :(得分:1)

您需要检查$('#inner').outerHeight()是否超过$('#outer').height()

答案 1 :(得分:1)

比较外部和内部DIV的offsetHeight属性的值。

现场演示: http://jsfiddle.net/simevidas/gJbMf/

答案 2 :(得分:0)

更新(@Hussein)

(function($) {
$.fn.flickr = function(o){
   //FLICKR STUFF
};

if(o) $.extend(s, o);
return this.each(function(){

var list = $('<ul>').appendTo(this);
var url = $.flickr.format(s);
$.getJSON(url, function(r){
  // MORE FLICKR STUFF
};
 if (s.callback) s.callback(list);
    //START CALLBACK FUNCTION
        $('#photographs ul li a img').fadeTo('fast', 0.7);

        $('#photographs ul li a img').hover(function() {
            $(this).fadeTo('fast', 1);
            },function() {
            $(this).fadeTo('fast', 0.7);
        });

        $("#photographs ul li a").fancybox({
            'hideOnContentClick': false,
            'zoomSpeedIn':      0, 
            'zoomSpeedOut': 0, 
            'overlayShow':      true,
            'overlayColor': '#000',
            'overlayOpacity': 0.9,
            'padding': 0
        });


            // OVERFLOW QUESTION SCRIPT - DOESN'T FIND INNER HEIGHT

           var outer = $('#photographs').outerHeight(),
           inner = $('#test').height();


           if(inner>outer){
               alert('Inner exceeded outer');
           }

      };
});
});
};