我正在尝试调用函数
myFunction
当其中一个元素
#checkPosition
点击窗口顶部,但因为我必须使用
$(window).scroll()
检测动作(滚动)并在某个点上滚动
totalScroll
始终大于此元素到顶部的距离
indicatorPosition
,函数被多次调用。
如何仅调用此函数一次?
HTML:
<div class="section section--1">
<p>Section 1</p>
</div>
<div class="section section--2">
<p>Section 2</p>
<div id="checkPosition" class="indicator">Check position</div>
<div id="targetElement" class="target">Target: </div>
</div>
CSS(只是为了获得一些高度):
.section {
min-height: 1000px;
}
JS公司:
const indicatorPosition = $('#checkPosition').offset().top;
console.log("indicators initial position:", indicatorPosition);
var myFunction = function(){
$('#targetElement').append('new text goes here only once. ');
console.log("call me only once");
}
$(window).scroll(function(){
var totalScroll = $(window).scrollTop();
if (totalScroll > indicatorPosition) {
myFunction();
}
});