鼠标滑动到标签当前位置后,固定在顶部。
需要固定的 html代码
<div style="height: 1000px;width:500px;border:1px solid red;"></div>//为了离顶部有一定距离
<div style="height: 100px;background:yellowgreen" class="need_fix"></div>//
jquery代码
<script>
//监听滚动事件
$(window).scroll(function () {
//获取该标签距离顶部距离
var a = $(".need_fix").offset().top;
//网页距离顶部距离
var b = $(window).scrollTop();
if (b>a) {
$('.need_fix').css({"position":"fixed","top":"10px"})
console.log(111)
}else{
$('.need_fix').css({"position":"sticky"})
}
})
//1.如果position设置为static,不稳定,往下滑动会一直闪
//2.设定为position:sticky元素的任意父节点的 overflow 属性必须是 visible,否则position:sticky不会生效。这里需要解释一下:
//如果position:sticky元素的任意父节点定位设置为overflow:hidden,则父容器无法进行滚动,所以position:sticky元素也不会有滚动然后固定的情况。
//如果position:sticky元素的任意父节点定位设置为position:relative | absolute | fixed,则元素相对父元素进行定位,而不会相对 viewprot 定位。
</script>