最初,获取元素的 .offset 位置并计算其相对于窗口的相对位置
请参阅:
1. 偏移量
2。滚动
3。滚动顶部
你可以试试这个小提琴
以下几行代码解释了如何解决此问题
当执行.scroll事件时,我们计算元素相对于窗口对象的相对位置
$(window).scroll(function () {
console.log(eTop - $(window).scrollTop());
});
当在浏览器中执行滚动时,我们调用上述事件处理程序函数
代码片段
function log(txt) {
$("#log").html("location : <b>" + txt + "</b> px")
}
$(function() {
var eTop = $('#element').offset().top; //get the offset top of the element
log(eTop - $(window).scrollTop()); //position of the ele w.r.t window
$(window).scroll(function() { //when window is scrolled
log(eTop - $(window).scrollTop());
});
});
#element {
margin: 140px;
text-align: center;
padding: 5px;
width: 200px;
height: 200px;
border: 1px solid #0099f9;
border-radius: 3px;
background: #444;
color: #0099d9;
opacity: 0.6;
}
#log {
position: fixed;
top: 40px;
left: 40px;
color: #333;
}
#scroll {
position: fixed;
bottom: 10px;
right: 10px;
border: 1px solid #000;
border-radius: 2px;
padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="log"></div>
<div id="element">Hello
<hr>World</div>
<div id="scroll">Scroll Down</div>