在滚动过程中抓住Div id时,Div id为空
Div id empty when grabbing it during a scroll
我试图在滚动过程中获取div的id,这样我就可以触发GA事件来跟踪谁在滚动到网站的哪个部分。这是我正在使用的.js代码:
function scrollDetect(){
var triggerPoint= Math.round($(window).height() / 2);
var sections = document.getElementsByClassName("section");
var triggeredSectionArray = [];
for(var i = 0; i < sections.length; i++){
triggeredSectionArray[i] = true;
}
$(document).scroll(function(){
for(var i = 0; i < sections.length; i++){
if(($(sections[i]).offset().top-$(window).scrollTop()) < triggerPoint && triggeredSectionArray[i] != false){
var tempElem = sections[i];
alert(sections[i].id);
triggeredSectionArray[i] = false;
}
}});
}
scrollDetects()在body加载时被调用,它检测div的顶部何时超过触发点(我仍在决定我想要的触发点到底是什么),但id本身是一个空字符串。所有的div都在标记中明确定义了id,当我尝试设置id时,它也会这样做。
确保您的文档以:开头,这样jQuery就可以正确计算窗口的高度,并尝试以下操作:
$(window).load(function() {
$(window).scroll(function(){
var top = $(window).scrollTop();
var bottom = top + $(window).height();
$(".section").each(function() {
if ($(this).offset().top >= top && $(this).offset().top <= bottom) {
console.log($(this).attr('id')); //Change this to GA tasks
}
});
});
});
相关文章:
- 禁用Tab键以进行具有特定Div ID的输入
- Bootstrap Typeahead不适用于某些Div Id's
- 使用 Jquery 选中基于 Div ID 和类的所有复选框
- 如何点击获得DIV ID
- 将DIV ID内的所有链接设置为返回false
- 在滚动过程中抓住Div id时,Div id为空
- 如何选择当前 DIV ID 以使用该 ID 运行 Jquery
- 将 Div ID 添加到 YouTube iFrame
- 添加/删除 CSS 类属性以尊重不基于 Div id 的类
- 如何根据 Div ID 内容隐藏/显示 DIV
- 如何在 javascript 中使用 DIV ID 对 DIV 产生悬停效果
- jQuery - 更改 Div ID 的值
- 在完整日历提示上获取 qTip2 Div ID
- JQuery 只查看一个 DIV ID 即可获取值
- 获取单击的UL LI选择框的父DIV ID
- 滚动按钮链接Div Id's
- 如何将DIV ID的值保存到数据库PHP&MySQL
- 循环遍历DIV id数组,并每隔x秒刷新这些DIVS
- 通过Javascript获取父GridView中的Div Id
- 错误地获取DIV ID