jquery只在父级更高的情况下滚动div

时间:2012-04-25 23:01:44

标签: javascript jquery

如何计算父级的高度,以便左侧div仅在其下方有空白区域时进行动画处理。我试图计算父母身高比问题身高+边缘顶部大。

这是代码的简化版本:http://jsfiddle.net/rewsn/6/作为示例。虽然在实际版本中问题/答案是通过AJAX改变的,所以这就是我每次需要计算高度的原因。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,那么像下面这样简单的条件就可以解决你的问题。

if ((y + el.outerHeight()) < $container.height()) {

DEMO

var el = $('.answer');
var elpos = el.offset().top;
var $container = $('.container');

$(window).scroll(function() {
    var y = $(this).scrollTop();
    var mTop = y - elpos;

    if ((y + el.outerHeight()) < $container.height()) {
        if (y < elpos) {
            el.stop().animate({
                'margin-top': 0
            }, 500);
        }
        else {
            el.stop().animate({
                'margin-top': y - elpos
            }, 500);
        }
    }
});

答案 1 :(得分:0)

不是100%肯定你的意思 - 你想阻止“答案”低于“问题”吗?这样的事情? http://jsfiddle.net/X3cbB/1/