用户滚动到特定元素时触发事件-使用jQuery
我的h1不在页面上。
<h1 id="scroll-to">TRIGGER EVENT WHEN SCROLLED TO.</h1>
我想在用户滚动到h1或在浏览器视图中触发警报时触发。
$('#scroll-to').scroll(function() { alert('you have scrolled to the h1!');
});
我该怎么做呢?
回答:
您可以计算offset
元素的,然后将其与scroll
值进行比较,例如:
$(window).scroll(function() { var hT = $('#scroll-to').offset().top,
hH = $('#scroll-to').outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
if (wS > (hT+hH-wH)){
console.log('H1 on the view!');
}
});
检查这个
更新了 无提示-而是将FadeIn()元素
更新了代码,以检查元素是否在视口内。因此,无论您向上滚动还是向下滚动向if语句添加一些规则,此方法都有效:
if (wS > (hT+hH-wH) && (hT > wS) && (wS+wH > hT+hH)){ //Do something
}
以上是 用户滚动到特定元素时触发事件-使用jQuery 的全部内容, 来源链接: utcz.com/qa/425067.html