처음에는 요소 의 오프셋 위치를 잡고 창을 기준으로 상대 위치를 계산하십시오.
참조 :
1. 오프셋
2. 스크롤
3. scrollTop
이 바이올린 에서 시도해 볼 수 있습니다
몇 줄의 코드를 따르면 어떻게 해결할 수 있는지 설명합니다.
경우 .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>