我如何检测一个元素滚动到视窗
How can I detect when an element scrolls into the viewport
我有一个横幅广告在我的网站底部。我使用谷歌分析事件来跟踪印象。问题是,如果用户不滚动到底部,他们将看不到横幅。所以记录印象会导致不准确,除非我能等到横幅出现在视窗中。
我如何检测我的横幅广告(与#footer-banner
的id
)已进入视口?我更希望它只在整个横幅的高度可见时才被检测到。
使用jQuery可以:
function isInView() {
var y = $('foot-banner').position().top;
var windowY = $(window).scrollTop();
return y > windowY && y < windowY + $(window).height();
}
这个函数可以在触发滚动事件时使用:
var impressionRecorded = false;
$(document).scroll(function() {
if (isInView() && !impressionRecorded) {
impressionRecorded = true;
// record impression
}
});
我使用插件:https://github.com/thesmart/jquery-scrollspy
相关文章:
- 指示禁用元素滚动行为并改为滚动页面
- 在某个点停止固定元素滚动
- jQuery 航点在元素滚动到视图中时添加类
- 到达(窗口)上的中间元素.滚动
- 当元素滚动出屏幕时更改元素位置
- jQuery-将元素滚动到屏幕中间,而不是使用锚链接滚动到顶部
- 我想为一个元素添加一个事件监听器,当相应的元素滚动到视图中时,该监听器就会被激发
- 将元素滚动到页面底部的视图中
- fadeIn元素滚动
- 当光标到达底部时,有没有办法防止contentEditable元素滚动
- 固定元素滚动到Div
- 如何平滑地防止固定元素滚动经过指定元素
- 将所有HTML元素滚动到视图中
- 如果浏览器窗口高度为X,并且元素滚动到其中的X点,则合并条件
- 使用isroll4将最后一个元素滚动到第一个元素的开始位置
- 如何显示单独的锂元素滚动基于窗口的高度
- 根据所单击的元素滚动到页面上的相同位置
- 元素滚动的同时滚动另一个
- 修改jQuery.ScrollTo插件将元素滚动到页面中心(垂直/水平)或尽可能靠近中心
- 我如何检测一个元素滚动到视窗