【发布时间】:2018-06-02 08:29:33
【问题描述】:
我正在寻找一个更好的解决粘条问题的方法。
第 2 和第 3 个框之间的“-----”是显示粘性条的阈值。当它显示出来时,它完全覆盖了第三个框。
在真正的解决方案中,我使用jquery添加了css(margin-top)来将这个元素推到下面;但问题是它在 Firefox 中滞后。用户可以在几分之一秒的时间内看到这个空间。
实现输出(或避免margin-top)的最佳解决方案是什么?
$(document).ready(function(){
function toggleDock() {
if($(window).scrollTop() >= $('.second').offset().top+$('.second').height()) {
$('.sticky').show();
}
else {
$('.sticky').hide();
}
}
$(window).bind('scroll',toggleDock);
});
.box {
border: 1px dotted red;
height: 100px;
width: auto;
margin: 20px 0;
}
.sticky {
height: 80px;
border: 1px dotted green;
margin: 20px 0;
display: none;
position: sticky;
top: 20px;
background: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body class='page docked'>
<div class='sticky'>
</div>
<div class='box'>
First
</div>
<div class='box second' >
2nd
</div>
-------
<div class='box'>
3rd
</div>
<div class='box'>
4th
</div>
<div class='box'>
5th
</div>
<div class='box'>
6th
</div>
<div class='box'>
7th
</div>
<div class='box'>
8th
</div>
</body>
【问题讨论】:
标签: javascript jquery html css sticky-footer