我搜索了高低,并在互联网上寻找答案/例子,但似乎没有找到任何东西……但我确信它存在.
我正在使用插件或代码片段执行以下操作:
页面上有两个容器元素,两个高度都由它的内容决定.这些不能是固定元素,因为有内容可以滚动.我所追求的是在滚动并到达第二个元素时,它向上滚动到第一个内容.我真的不知道如何编写代码,但我所做的是生成了两个jsFiddles.一个具有所需效果但具有固定元素的一个,然后一个准备工作.
我希望你们能帮忙.
$('.second-container').appear();
$(document.body).on('appear', '.second-container', function() {
alert('appears');
});
http://jsfiddle.net/m7b7nzjc/1/(固定示例)
http://jsfiddle.net/m7b7nzjc/(准备使用并有jquery.appear)
干杯,
[R
最佳答案 我认为这就是你要找的东西:
http://jsfiddle.net/94xjdnqx/2/
当第一个div的底部位于窗口底部时,开始将第二个div向上移动到第一个div上方.这实际上并没有将第二个向上移动到第一个,但它将第一个向下移动以给出相同的外观.有一种情况可以确保第一个div不会随着滚动条向下移动,当第一个div高于第二个div时会导致无限滚动条.
主要逻辑在这里:
$(document).scroll(function() {
var viewBottom = document.body.scrollTop + $(window).height();
if (viewBottom > $('.first-container').height())
{
var offset = viewBottom - $('.first-container').height()
if (offset <= $(window).height())
{
$('.first-container').css({top: offset + 'px'});
}
}
});
我不确定如何跨浏览器兼容document.body.scrollTop,我正在使用Chrome并且它可以工作.