当我滚动时,我想执行一个函数并检测我的element.offset().top
何时处于视口(窗口)的10%左右。我该怎么办?
我现在有这个。
$(window).on('scroll', function() {
var wst = $(this).scrollTop();
var wh = $(this).height();
var elpos = wrapper.offset().top;
if (wst >= elpos) {
console.log('snoop doggy dog');
}
});
感谢您的帮助。
注意:元素位置顶部需要占据窗口的10%。不是文件的10%。感谢。
答案 0 :(得分:0)
我为您编写了一个不同的实现,它将帮助您完成任务。我在片段中解释其余部分作为评论。
$(window).on('scroll', function() { /* OnScroll */
/* Calculate if the scroll position is > 10% */
if($(document).scrollTop() > (0.1 * $(document).height())) {
console.log('Scroll Passed 10%');
} else {
/* Less than 10% */
}
});
没有把这个问题安静得很好,所以删除了。
答案 1 :(得分:0)
首先,我建议在滚动函数之外设置一个标志变量,这样在语句为真时调用一次动作。
var flag = true;
$(window).on('scroll', function() {
var wst = $(this).scrollTop();
var wh = $(this).height();
var elpos = wrapper.offset().top;
if (wst >= elpos*0.1 && flag) {
flag = false;
console.log("in")
tabs.first().addClass('active');
sections.first().find('figure').addClass('figureAnimateIn');
setTimeout(function(){
sections.first().find('.info').addClass('infoAnimateIn');
}, 300);
}
});